[vlc-commits] demux: ts: fix non MPEG audio stream type probing

Francois Cartegnie git at videolan.org
Fri Aug 28 14:15:10 CEST 2015


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Fri Aug 28 14:13:29 2015 +0200| [356a475fa4508c9b583e9c433edf51e6d6944f70] | committer: Francois Cartegnie

demux: ts: fix non MPEG audio stream type probing

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

 modules/demux/mpeg/ts.c |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/modules/demux/mpeg/ts.c b/modules/demux/mpeg/ts.c
index b10aade..37c9d5b 100644
--- a/modules/demux/mpeg/ts.c
+++ b/modules/demux/mpeg/ts.c
@@ -751,8 +751,8 @@ static void ProbePES( demux_t *p_demux, ts_pid_t *pid, const uint8_t *p_pesstart
         return;
 
     const uint8_t *p_data = &p_pes[i_payloadoffset];
-    /* AUDIO STREAM */
-    if(p_pes[3] >= 0xC0 && p_pes[3] <= 0xDF)
+    /* NON MPEG audio & subpictures STREAM */
+    if(p_pes[3] == 0xBD)
     {
         if( !memcmp( p_data, "\x7F\xFE\x80\x01", 4 ) )
         {
@@ -764,7 +764,11 @@ static void ProbePES( demux_t *p_demux, ts_pid_t *pid, const uint8_t *p_pesstart
             pid->probed.i_type = 0x06;
             pid->probed.i_fourcc = VLC_CODEC_EAC3;
         }
-        else if( p_data[0] == 0xFF && (p_data[1] & 0xE0) == 0xE0 )
+    }
+    /* MPEG AUDIO STREAM */
+    else if(p_pes[3] >= 0xC0 && p_pes[3] <= 0xDF)
+    {
+        if( p_data[0] == 0xFF && (p_data[1] & 0xE0) == 0xE0 )
         {
             switch(p_data[1] & 18)
             {



More information about the vlc-commits mailing list