- demux_t *p_demux = (demux_t *)p_this;
-
- char *psz_ext;
-
- psz_ext = strrchr ( p_demux->psz_path, '.' );
-
- if( ( psz_ext && !strcasecmp( psz_ext, ".b4s") ) ||
- ( p_demux->psz_demux && !strcmp(p_demux->psz_demux, "b4s") ) )
- {
- ;
- }
- else
- {
- return VLC_EGENERIC;
- }
- msg_Dbg( p_demux, "using b4s playlist import");
-
- p_demux->pf_control = Control;
- p_demux->pf_demux = Demux;
- p_demux->p_sys = malloc( sizeof(demux_sys_t) );
- if( p_demux->p_sys == NULL )
- {
- msg_Err( p_demux, "Out of memory" );
- return VLC_ENOMEM;
- }
- p_demux->p_sys->psz_prefix = FindPrefix( p_demux );
-
+ DEMUX_BY_EXTENSION_OR_FORCED_MSG( ".b4s", "b4s-open",
+ "using B4S playlist reader" );
+ p_demux->p_sys->psz_prefix = E_(FindPrefix)( p_demux );
+ p_demux->p_sys->p_xml = NULL;
+ p_demux->p_sys->p_xml_reader = NULL;