vlc | branch: master | Rafaël Carré <[email protected]> | Thu Oct 23 17:31:17 
2014 +0200| [21938b734b31697a415b7a86970b888350ad1bdf] | committer: Rafaël Carré

TS: Opus needs a registration descriptor

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

 modules/demux/ts.c    |    2 +-
 modules/mux/mpeg/ts.c |    3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/modules/demux/ts.c b/modules/demux/ts.c
index 641c785..ec21897 100644
--- a/modules/demux/ts.c
+++ b/modules/demux/ts.c
@@ -4025,7 +4025,7 @@ static void PMTSetupEs0x06( demux_t *p_demux, ts_pid_t 
*pid,
         p_fmt->i_codec = VLC_CODEC_A52;
     }
     else if( (desc = PMTEsFindDescriptor( p_es, 0x7f ) ) && desc->i_length >= 
2 &&
-              desc->p_data[0] == 0x80)
+              PMTEsHasRegistration(p_demux, p_es, "Opus"))
     {
         OpusSetup(p_demux, desc->p_data, desc->i_length, p_fmt);
     }
diff --git a/modules/mux/mpeg/ts.c b/modules/mux/mpeg/ts.c
index c846f7b..6e2853b 100644
--- a/modules/mux/mpeg/ts.c
+++ b/modules/mux/mpeg/ts.c
@@ -2371,6 +2371,9 @@ static void GetPMT( sout_mux_t *p_mux, 
sout_buffer_chain_t *c )
                 p_input->p_fmt->audio.i_channels
             };
             dvbpsi_PMTESAddDescriptor( p_es, 0x7f, 2, data );
+            uint8_t format[4] = { 'O', 'p', 'u', 's'};
+            /* "registration" descriptor : "Opus" */
+            dvbpsi_PMTESAddDescriptor( p_es, 0x05, 4, format );
         }
         else if( p_stream->i_codec == VLC_CODEC_TELETEXT )
         {

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to