From a1492c7cdf607ca70af975fcf94a364d06c6d760 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Kempf Date: Thu, 8 Mar 2012 17:26:11 +0100 Subject: [PATCH] ASF: parse correctly advanced_mutual_exclusion types --- modules/demux/asf/libasf.c | 9 +++++++++ modules/demux/asf/libasf_guid.h | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/modules/demux/asf/libasf.c b/modules/demux/asf/libasf.c index eb51c48c48..381a741f7d 100644 --- a/modules/demux/asf/libasf.c +++ b/modules/demux/asf/libasf.c @@ -983,6 +983,15 @@ static int ASF_ReadObject_advanced_mutual_exclusion( stream_t *s, ASF_GetGUID( &p_ae->type, &p_data[0] ); ASF_SKIP( 16 ); +#ifdef ASF_DEBUG + if( guidcmp( &p_ae->type, &asf_guid_mutex_language ) ) + msg_Dbg( s, "Language exclusion" ); + else if( guidcmp( &p_ae->type, &asf_guid_mutex_bitrate ) ) + msg_Dbg( s, "Bitrate exclusion" ); + else + msg_Warn(s, "Unknown exclusion type" ); +#endif + p_ae->i_stream_number_count = ASF_READ2(); p_ae->pi_stream_number = calloc( p_ae->i_stream_number_count, sizeof(int) ); diff --git a/modules/demux/asf/libasf_guid.h b/modules/demux/asf/libasf_guid.h index be44490f16..830b2e679a 100644 --- a/modules/demux/asf/libasf_guid.h +++ b/modules/demux/asf/libasf_guid.h @@ -204,6 +204,17 @@ static const guid_t asf_no_error_correction_guid = static const guid_t asf_guid_audio_conceal_spread = {0xBFC3CD50, 0x618F, 0x11CF, {0x8B, 0xB2, 0x00, 0xAA, 0x00, 0xB4, 0xE2, 0x20}}; +// Mutual exclusion +static const guid_t asf_guid_mutex_language = +{0xD6E22A00, 0x35DA, 0x11D1, {0x90, 0x34, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xBE}}; + +static const guid_t asf_guid_mutex_bitrate = +{0xD6E22A01, 0x35DA, 0x11D1, {0x90, 0x34, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xBE}}; + +static const guid_t asf_guid_mutex_unknown = +{0xD6E22A02, 0x35DA, 0x11D1, {0x90, 0x34, 0x00, 0xA0, 0xC9, 0x03, 0x49, 0xBE}}; + + /**************************************************************************** * GUID functions ****************************************************************************/ -- 2.39.2