[vlc-commits] TS: Opus needs a registration descriptor

Rafaël Carré git at videolan.org
Thu Oct 23 17:32:10 CEST 2014


vlc | branch: master | Rafaël Carré <funman at videolan.org> | 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 )
         {



More information about the vlc-commits mailing list