&& (psz_ext = strrchr( p_demux->psz_file, '.' )) )
{
/* XXX: add only file without any problem here and with strong detection.
- * - no .mp3, .a52, ... (aac is added as it works only by file ext
- * anyway
+ * - no .mp3, .a52, ...
* - wav can't be added 'cause of a52 and dts in them as raw audio
*/
static const struct { char ext[5]; char demux[9]; } exttodemux[] =
{
- { "aac", "aac" },
{ "aiff", "aiff" },
{ "asf", "asf" }, { "wmv", "asf" }, { "wma", "asf" },
{ "avi", "avi" },
{ "dv", "dv" },
{ "drc", "dirac" },
{ "m3u", "m3u" },
+ { "m3u8", "m3u8" },
{ "mkv", "mkv" }, { "mka", "mkv" }, { "mks", "mkv" },
{ "mp4", "mp4" }, { "m4a", "mp4" }, { "mov", "mp4" }, { "moov", "mp4" },
{ "nsv", "nsv" },
{ "ogg", "ogg" }, { "ogm", "ogg" }, /* legacy Ogg */
{ "oga", "ogg" }, { "spx", "ogg" }, { "ogv", "ogg" },
{ "ogx", "ogg" }, /*RFC5334*/
+ { "opus", "ogg" }, /*draft-terriberry-oggopus-01*/
{ "pva", "pva" },
{ "rm", "avformat" },
{ "m4v", "m4v" },
{ "h264", "h264" },
{ "voc", "voc" },
- { "mid", "smf" }, { "rmi", "smf" },
+ { "mid", "smf" }, { "rmi", "smf" }, { "kar", "smf" },
{ "", "" },
};
/* Here, we don't mind if it does not work, it must be quick */
*****************************************************************************/
void demux_Delete( demux_t *p_demux )
{
- module_unneed( p_demux, p_demux->p_module );
+ stream_t *s;
+ module_unneed( p_demux, p_demux->p_module );
free( p_demux->psz_file );
free( p_demux->psz_location );
free( p_demux->psz_demux );
free( p_demux->psz_access );
+ s = p_demux->s;
vlc_object_release( p_demux );
+ if( s != NULL )
+ stream_Delete( s );
}
/*****************************************************************************
}
return VLC_EGENERIC;
+ case DEMUX_GET_META:
+ return stream_vaControl( s, STREAM_GET_META, args );
+
case DEMUX_GET_PTS_DELAY:
case DEMUX_GET_FPS:
- case DEMUX_GET_META:
case DEMUX_HAS_UNSUPPORTED_META:
case DEMUX_SET_NEXT_DEMUX_TIME:
case DEMUX_GET_TITLE_INFO:
case DEMUX_SET_GROUP:
+ case DEMUX_SET_ES:
case DEMUX_GET_ATTACHMENTS:
case DEMUX_CAN_RECORD:
case DEMUX_SET_RECORD_STATE:
+ case DEMUX_GET_SIGNAL:
return VLC_EGENERIC;
default: