/*****************************************************************************
* demux.c
*****************************************************************************
- * Copyright (C) 1999-2004 the VideoLAN team
+ * Copyright (C) 1999-2004 VLC authors and VideoLAN
* $Id$
*
* Author: Laurent Aimar <fenrir@via.ecp.fr>
*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifdef HAVE_CONFIG_H
&& (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" },
{ "ogg", "ogg" }, { "ogm", "ogg" }, /* legacy Ogg */
{ "oga", "ogg" }, { "spx", "ogg" }, { "ogv", "ogg" },
{ "ogx", "ogg" }, /*RFC5334*/
+ { "opus", "ogg" }, /*draft-terriberry-oggopus-01*/
{ "pva", "pva" },
- { "rm", "rm" },
+ { "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: