[vlc-commits] demux: ts: add stub for private stream 0x05

Francois Cartegnie git at videolan.org
Wed Dec 7 17:27:28 CET 2016


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Dec  7 17:21:56 2016 +0100| [046093e67560b2fdd3c2a65caede6eed1ac90576] | committer: Francois Cartegnie

demux: ts: add stub for private stream 0x05

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

 modules/demux/mpeg/ts_psi.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/modules/demux/mpeg/ts_psi.c b/modules/demux/mpeg/ts_psi.c
index 9df8539..5e125a6 100644
--- a/modules/demux/mpeg/ts_psi.c
+++ b/modules/demux/mpeg/ts_psi.c
@@ -901,6 +901,27 @@ explicit_config_too_short:
     msg_Err(demux, "Opus descriptor too short");
 }
 
+static void PMTSetupEs0x05PrivateData( demux_t *p_demux, ts_pes_es_t *p_es,
+                                       const dvbpsi_pmt_es_t *p_dvbpsies )
+{
+    VLC_UNUSED(p_es);
+    if( p_demux->p_sys->standard == TS_STANDARD_DVB ||
+        p_demux->p_sys->standard == TS_STANDARD_AUTO )
+    {
+        dvbpsi_descriptor_t *p_ait_dr = PMTEsFindDescriptor( p_dvbpsies, 0x6F );
+        if( p_ait_dr )
+        {
+            uint8_t *p_data = p_ait_dr->p_data;
+            for( uint8_t i_data = p_ait_dr->i_length; i_data >= 3; i_data -= 3, p_data += 3 )
+            {
+                uint16_t i_app_type = ((p_data[0] & 0x7F) << 8) | p_data[1];
+                msg_Dbg( p_demux, "      - Application type 0x%"PRIx16" version %"PRIu8,
+                         i_app_type, p_data[2] & 0x1F);
+            }
+        }
+    }
+}
+
 static void PMTSetupEs0x06( demux_t *p_demux, ts_pes_t *p_pes,
                             const dvbpsi_pmt_es_t *p_dvbpsies )
 {
@@ -1398,6 +1419,7 @@ static void FillPESFromDvbpsiES( demux_t *p_demux,
         {
         case 0x05: /* Private data in sections */
             p_pes->transport = TS_TRANSPORT_SECTIONS;
+            PMTSetupEs0x05PrivateData( p_demux, p_pes->p_es, p_dvbpsies );
             break;
         case 0x06:
             /* Handle PES private data */



More information about the vlc-commits mailing list