[vlc-commits] demux: use a stable id for one-track modules

Thomas Guillem git at videolan.org
Fri Feb 28 20:46:20 CET 2020


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Tue Feb 18 10:02:06 2020 +0100| [d7f1f89668f2d058daa566cdcee370aca4bb13fc] | committer: Thomas Guillem

demux: use a stable id for one-track modules

These demux modules can only output one ES track.
Therefore, these ES tracks are necessarily identifiable by a stable id.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d7f1f89668f2d058daa566cdcee370aca4bb13fc
---

 modules/demux/aiff.c      | 1 +
 modules/demux/au.c        | 1 +
 modules/demux/caf.c       | 1 +
 modules/demux/cdg.c       | 1 +
 modules/demux/flac.c      | 1 +
 modules/demux/mjpeg.c     | 1 +
 modules/demux/mpc.c       | 1 +
 modules/demux/mpeg/es.c   | 1 +
 modules/demux/mpeg/h26x.c | 1 +
 modules/demux/nuv.c       | 3 +++
 modules/demux/rawaud.c    | 1 +
 modules/demux/smf.c       | 1 +
 modules/demux/stl.c       | 1 +
 modules/demux/subtitle.c  | 1 +
 modules/demux/ttml.c      | 1 +
 modules/demux/vc1.c       | 1 +
 modules/demux/wav.c       | 1 +
 modules/demux/webvtt.c    | 1 +
 18 files changed, 20 insertions(+)

diff --git a/modules/demux/aiff.c b/modules/demux/aiff.c
index 6986ded7d8..77fb9dfa2c 100644
--- a/modules/demux/aiff.c
+++ b/modules/demux/aiff.c
@@ -205,6 +205,7 @@ static int Open( vlc_object_t *p_this )
     }
 
     /* */
+    p_sys->fmt.i_id = 0;
     p_sys->es = es_out_Add( p_demux->out, &p_sys->fmt );
     if( unlikely(p_sys->es == NULL) )
         return VLC_ENOMEM;
diff --git a/modules/demux/au.c b/modules/demux/au.c
index 212d5c0c34..e2b4618976 100644
--- a/modules/demux/au.c
+++ b/modules/demux/au.c
@@ -271,6 +271,7 @@ static int Open( vlc_object_t *p_this )
     }
 
     /* add the es */
+    p_sys->fmt.i_id = 0;
     p_sys->es = es_out_Add( p_demux->out, &p_sys->fmt );
     if( unlikely(p_sys->es == NULL) )
         return VLC_ENOMEM;
diff --git a/modules/demux/caf.c b/modules/demux/caf.c
index 77b687e4b3..268c5ae270 100644
--- a/modules/demux/caf.c
+++ b/modules/demux/caf.c
@@ -897,6 +897,7 @@ static int Open( vlc_object_t *p_this )
         goto caf_open_end;
     }
 
+    p_sys->fmt.i_id = 0;
     p_sys->es = es_out_Add( p_demux->out, &p_sys->fmt );
 
     if( !p_sys->es )
diff --git a/modules/demux/cdg.c b/modules/demux/cdg.c
index 33def4d7c7..ae5cc1c2a4 100644
--- a/modules/demux/cdg.c
+++ b/modules/demux/cdg.c
@@ -94,6 +94,7 @@ static int Open( vlc_object_t * p_this )
     p_sys->fmt.video.i_visible_width = p_sys->fmt.video.i_width;
     p_sys->fmt.video.i_visible_height = p_sys->fmt.video.i_height;
 
+    p_sys->fmt.i_id = 0;
     p_sys->p_es = es_out_Add( p_demux->out, &p_sys->fmt );
     if( unlikely(p_sys->p_es == NULL) )
         return VLC_ENOMEM;
diff --git a/modules/demux/flac.c b/modules/demux/flac.c
index a8acb5ac60..92ad0178f9 100644
--- a/modules/demux/flac.c
+++ b/modules/demux/flac.c
@@ -174,6 +174,7 @@ static int Open( vlc_object_t * p_this )
         vlc_meta_Set( p_sys->p_meta, vlc_meta_ArtworkURL, psz_url );
     }
 
+    p_sys->p_packetizer->fmt_in.i_id = 0;
     p_sys->p_es = es_out_Add( p_demux->out, &p_sys->p_packetizer->fmt_in );
     if( !p_sys->p_es )
         goto error;
diff --git a/modules/demux/mjpeg.c b/modules/demux/mjpeg.c
index 6d74088a60..d5e8dbdfcf 100644
--- a/modules/demux/mjpeg.c
+++ b/modules/demux/mjpeg.c
@@ -381,6 +381,7 @@ static int Open( vlc_object_t * p_this )
 
     es_format_Init( &p_sys->fmt, VIDEO_ES, VLC_CODEC_MJPG );
 
+    p_sys->fmt.i_id = 0;
     p_sys->p_es = es_out_Add( p_demux->out, &p_sys->fmt );
     if( unlikely(p_sys->p_es == NULL) )
         return VLC_ENOMEM;
diff --git a/modules/demux/mpc.c b/modules/demux/mpc.c
index a7507890b8..d7438c7558 100644
--- a/modules/demux/mpc.c
+++ b/modules/demux/mpc.c
@@ -189,6 +189,7 @@ static int Open( vlc_object_t * p_this )
 #undef CONVERT_GAIN
 #undef CONVERT_PEAK
 
+    fmt.i_id = 0;
     p_sys->p_es = es_out_Add( p_demux->out, &fmt );
     if( !p_sys->p_es )
         goto error;
diff --git a/modules/demux/mpeg/es.c b/modules/demux/mpeg/es.c
index 427685c68b..f32d741043 100644
--- a/modules/demux/mpeg/es.c
+++ b/modules/demux/mpeg/es.c
@@ -660,6 +660,7 @@ static bool Parse( demux_t *p_demux, block_t **pp_output )
             if( !p_sys->p_es )
             {
                 p_sys->p_packetizer->fmt_out.b_packetized = true;
+                p_sys->p_packetizer->fmt_out.i_id = 0;
                 p_sys->p_es = es_out_Add( p_demux->out,
                                           &p_sys->p_packetizer->fmt_out);
 
diff --git a/modules/demux/mpeg/h26x.c b/modules/demux/mpeg/h26x.c
index bf0be71395..b9af7ccc88 100644
--- a/modules/demux/mpeg/h26x.c
+++ b/modules/demux/mpeg/h26x.c
@@ -443,6 +443,7 @@ static int Demux( demux_t *p_demux)
             if( p_sys->p_es == NULL )
             {
                 p_sys->p_packetizer->fmt_out.b_packetized = true;
+                p_sys->p_packetizer->fmt_out.i_id = 0;
                 p_sys->p_es = es_out_Add( p_demux->out, &p_sys->p_packetizer->fmt_out );
                 if( !p_sys->p_es )
                 {
diff --git a/modules/demux/nuv.c b/modules/demux/nuv.c
index 7ef9c21340..0b0600d508 100644
--- a/modules/demux/nuv.c
+++ b/modules/demux/nuv.c
@@ -296,6 +296,7 @@ static int Open( vlc_object_t * p_this )
     }
 
     /* Create audio/video (will work only with extended header and audio=mp3 */
+    int id = 0;
     if( p_sys->hdr.i_video_blocks != 0 )
     {
         es_format_t fmt;
@@ -310,6 +311,7 @@ static int Open( vlc_object_t * p_this )
         fmt.video.i_sar_num = p_sys->hdr.d_aspect * fmt.video.i_height;
         fmt.video.i_sar_den = fmt.video.i_width;
 
+        fmt.i_id = id++;
         p_sys->p_es_video = es_out_Add( p_demux->out, &fmt );
     }
     if( p_sys->hdr.i_audio_blocks != 0 )
@@ -320,6 +322,7 @@ static int Open( vlc_object_t * p_this )
         fmt.audio.i_rate = p_sys->exh.i_audio_sample_rate;
         fmt.audio.i_bitspersample = p_sys->exh.i_audio_bits_per_sample;
 
+        fmt.i_id = id++;
         p_sys->p_es_audio = es_out_Add( p_demux->out, &fmt );
     }
     if( p_sys->hdr.i_text_blocks != 0 )
diff --git a/modules/demux/rawaud.c b/modules/demux/rawaud.c
index 87b2112102..0e39928f67 100644
--- a/modules/demux/rawaud.c
+++ b/modules/demux/rawaud.c
@@ -202,6 +202,7 @@ static int Open( vlc_object_t * p_this )
             p_sys->fmt.i_bitrate);
 
     /* add the es */
+    p_sys->fmt.i_id = 0;
     p_sys->p_es = es_out_Add( p_demux->out, &p_sys->fmt );
     msg_Dbg( p_demux, "elementary stream added");
 
diff --git a/modules/demux/smf.c b/modules/demux/smf.c
index 9d38c52396..454a802623 100644
--- a/modules/demux/smf.c
+++ b/modules/demux/smf.c
@@ -706,6 +706,7 @@ static int Open (vlc_object_t *obj)
     es_format_Init (&fmt, AUDIO_ES, VLC_CODEC_MIDI);
     fmt.audio.i_channels = 2;
     fmt.audio.i_rate = 44100; /* dummy value */
+    fmt.i_id = 0;
     sys->es = es_out_Add (demux->out, &fmt);
 
     demux->pf_demux = Demux;
diff --git a/modules/demux/stl.c b/modules/demux/stl.c
index 02c10cd556..a635766872 100644
--- a/modules/demux/stl.c
+++ b/modules/demux/stl.c
@@ -314,6 +314,7 @@ static int Open(vlc_object_t *object)
     fmt.i_extra = sizeof(header);
     fmt.p_extra = header;
 
+    fmt.i_id = 0;
     sys->es = es_out_Add(demux->out, &fmt);
     fmt.i_extra = 0;
     fmt.p_extra = NULL;
diff --git a/modules/demux/subtitle.c b/modules/demux/subtitle.c
index 9c2842a797..968a356a59 100644
--- a/modules/demux/subtitle.c
+++ b/modules/demux/subtitle.c
@@ -707,6 +707,7 @@ static int Open ( vlc_object_t *p_this )
         fmt.i_extra = strlen( p_sys->props.psz_header ) + 1;
     }
 
+    fmt.i_id = 0;
     p_sys->es = es_out_Add( p_demux->out, &fmt );
     es_format_Clean( &fmt );
     if( p_sys->es == NULL )
diff --git a/modules/demux/ttml.c b/modules/demux/ttml.c
index 532c92d0d4..bc688f8b18 100644
--- a/modules/demux/ttml.c
+++ b/modules/demux/ttml.c
@@ -536,6 +536,7 @@ int tt_OpenDemux( vlc_object_t* p_this )
 
     es_format_t fmt;
     es_format_Init( &fmt, SPU_ES, VLC_CODEC_TTML );
+    fmt.i_id = 0;
     p_sys->p_es = es_out_Add( p_demux->out, &fmt );
     if( !p_sys->p_es )
         goto error;
diff --git a/modules/demux/vc1.c b/modules/demux/vc1.c
index 6cdbf40993..6902faf9fb 100644
--- a/modules/demux/vc1.c
+++ b/modules/demux/vc1.c
@@ -166,6 +166,7 @@ static int Demux( demux_t *p_demux)
             if( p_sys->p_es == NULL )
             {
                 p_sys->p_packetizer->fmt_out.b_packetized = true;
+                p_sys->p_packetizer->fmt_out.i_id = 0;
                 p_sys->p_es = es_out_Add( p_demux->out, &p_sys->p_packetizer->fmt_out);
             }
 
diff --git a/modules/demux/wav.c b/modules/demux/wav.c
index 3d6fbd8b68..7174cfb681 100644
--- a/modules/demux/wav.c
+++ b/modules/demux/wav.c
@@ -428,6 +428,7 @@ static int Open( vlc_object_t * p_this )
             p_sys->fmt.audio.i_rate * 8 / p_sys->i_frame_samples;
     }
 
+    p_sys->fmt.i_id = 0;
     p_sys->p_es = es_out_Add( p_demux->out, &p_sys->fmt );
     if( unlikely(p_sys->p_es == NULL) )
         goto error;
diff --git a/modules/demux/webvtt.c b/modules/demux/webvtt.c
index e2e1219bd8..dd835e2d12 100644
--- a/modules/demux/webvtt.c
+++ b/modules/demux/webvtt.c
@@ -669,6 +669,7 @@ int webvtt_OpenDemux ( vlc_object_t *p_this )
     size_t i_extra = 0;
     MakeExtradata( p_sys, &fmt.p_extra, &i_extra );
     fmt.i_extra = i_extra;
+    fmt.i_id = 0;
     p_sys->es = es_out_Add( p_demux->out, &fmt );
     es_format_Clean( &fmt );
     if( p_sys->es == NULL )



More information about the vlc-commits mailing list