vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon May 22 20:42:37 2017 +0300| [6b6d39888e9fb61e77aaf6785ff25c00e7b45334] | committer: Rémi Denis-Courmont
dvb: convert to stream filter > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6b6d39888e9fb61e77aaf6785ff25c00e7b45334 --- NEWS | 2 ++ modules/demux/playlist/dvb.c | 24 ++++++++++-------------- modules/demux/playlist/playlist.c | 4 ++-- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/NEWS b/NEWS index e4fa417594..5c966e00d9 100644 --- a/NEWS +++ b/NEWS @@ -125,6 +125,8 @@ Demuxers: * Fix Quicktime Mp4 inside MKV and unpacketized VC1 * Support for isofLaC * Improved fLaC seeking + * Replaced --demux dvb-open option with --stream-filter dvb to parse + channels.conf digital TV channel list files Stream filter: * Added ADF stream filter diff --git a/modules/demux/playlist/dvb.c b/modules/demux/playlist/dvb.c index 7a11a724b3..12d9873009 100644 --- a/modules/demux/playlist/dvb.c +++ b/modules/demux/playlist/dvb.c @@ -33,26 +33,26 @@ #include <assert.h> #include <vlc_common.h> -#include <vlc_demux.h> +#include <vlc_access.h> #include <vlc_charset.h> #include "playlist.h" -static int Demux(demux_t *); +static int ReadDir(stream_t *, input_item_node_t *); static input_item_t *ParseLine(char *line); /** Detect dvb-utils zap channels.conf format */ int Import_DVB(vlc_object_t *p_this) { - demux_t *demux = (demux_t *)p_this; + stream_t *demux = (stream_t *)p_this; CHECK_FILE(demux); - if (!demux_IsPathExtension(demux, ".conf" ) && !demux->obj.force ) + if (!stream_HasExtension(demux, ".conf" ) && !demux->obj.force ) return VLC_EGENERIC; /* Check if this really is a channels file */ const uint8_t *peek; - int len = vlc_stream_Peek(demux->s, &peek, 1023); + int len = vlc_stream_Peek(demux->p_source, &peek, 1023); if (len <= 0) return VLC_EGENERIC; @@ -71,20 +71,18 @@ int Import_DVB(vlc_object_t *p_this) input_item_Release(item); msg_Dbg(demux, "found valid channels.conf file"); - demux->pf_control = Control; - demux->pf_demux = Demux; + demux->pf_control = access_vaDirectoryControlHelper; + demux->pf_readdir = ReadDir; return VLC_SUCCESS; } /** Parses the whole channels.conf file */ -static int Demux(demux_t *demux) +static int ReadDir(stream_t *s, input_item_node_t *subitems) { - input_item_t *input = GetCurrentItem(demux); - input_item_node_t *subitems = input_item_node_Create(input); char *line; - while ((line = vlc_stream_ReadLine(demux->s)) != NULL) + while ((line = vlc_stream_ReadLine(s->p_source)) != NULL) { input_item_t *item = ParseLine(line); free(line); @@ -95,9 +93,7 @@ static int Demux(demux_t *demux) input_item_Release(item); } - input_item_node_PostAndDelete(subitems); - - return 0; /* Needed for correct operation of go back */ + return VLC_SUCCESS; } static int cmp(const void *k, const void *e) diff --git a/modules/demux/playlist/playlist.c b/modules/demux/playlist/playlist.c index c3a46ada8f..4d38c61bc6 100644 --- a/modules/demux/playlist/playlist.c +++ b/modules/demux/playlist/playlist.c @@ -84,8 +84,8 @@ vlc_module_begin () set_callbacks( Import_B4S, NULL ) add_submodule () set_description( N_("DVB playlist import") ) - add_shortcut( "playlist", "dvb-open" ) - set_capability( "demux", 10 ) + add_shortcut( "dvb" ) + set_capability( "stream_filter", 10 ) set_callbacks( Import_DVB, NULL ) add_submodule () set_description( N_("Podcast parser") ) _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
