]> git.sesse.net Git - vlc/blobdiff - src/input/demux.c
Revert "input core: add status field per elementary stream"
[vlc] / src / input / demux.c
index df10092603c03d8b52193cd2feb7c002063e9b84..56301af342a2c408d9e25533140f4a15d7c22fe9 100644 (file)
@@ -110,13 +110,11 @@ demux_t *demux_New( vlc_object_t *p_obj, input_thread_t *p_parent_input,
      && (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" },
@@ -125,18 +123,20 @@ demux_t *demux_New( vlc_object_t *p_obj, input_thread_t *p_parent_input,
             { "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 */
@@ -213,14 +213,18 @@ demux_t *demux_New( vlc_object_t *p_obj, input_thread_t *p_parent_input,
  *****************************************************************************/
 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 );
 }
 
 /*****************************************************************************
@@ -307,16 +311,20 @@ int demux_vaControlHelper( stream_t *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: