@@ -151,13 +151,13 @@ static void init_caps_from_wave_format_wma2(GstCaps *caps, const WMAUDIO2WAVEFOR
151
151
gst_caps_set_simple (caps , "bitrate" , G_TYPE_INT , format -> wfx .nAvgBytesPerSec * 8 , NULL );
152
152
}
153
153
154
- static void init_caps_from_wave_format_wma3 (GstCaps * caps , const WMAUDIO3WAVEFORMAT * format , UINT32 format_size )
154
+ static void init_caps_from_wave_format_wma3 (GstCaps * caps , const WMAUDIO3WAVEFORMAT * format , UINT32 format_size , UINT version )
155
155
{
156
156
init_caps_codec_data (caps , & format -> wfx + 1 , format -> wfx .cbSize );
157
157
158
158
gst_structure_remove_field (gst_caps_get_structure (caps , 0 ), "format" );
159
159
gst_structure_set_name (gst_caps_get_structure (caps , 0 ), "audio/x-wma" );
160
- gst_caps_set_simple (caps , "wmaversion" , G_TYPE_INT , 3 , NULL );
160
+ gst_caps_set_simple (caps , "wmaversion" , G_TYPE_INT , version , NULL );
161
161
gst_caps_set_simple (caps , "block_align" , G_TYPE_INT , format -> wfx .nBlockAlign , NULL );
162
162
gst_caps_set_simple (caps , "depth" , G_TYPE_INT , format -> wfx .wBitsPerSample , NULL );
163
163
gst_caps_set_simple (caps , "bitrate" , G_TYPE_INT , format -> wfx .nAvgBytesPerSec * 8 , NULL );
@@ -178,9 +178,10 @@ static void init_caps_from_wave_format(GstCaps *caps, const GUID *subtype,
178
178
return init_caps_from_wave_format_wma1 (caps , format , format_size );
179
179
if (IsEqualGUID (subtype , & MFAudioFormat_WMAudioV8 ))
180
180
return init_caps_from_wave_format_wma2 (caps , format , format_size );
181
- if (IsEqualGUID (subtype , & MFAudioFormat_WMAudioV9 )
182
- || IsEqualGUID (subtype , & MFAudioFormat_WMAudio_Lossless ))
183
- return init_caps_from_wave_format_wma3 (caps , format , format_size );
181
+ if (IsEqualGUID (subtype , & MFAudioFormat_WMAudioV9 ))
182
+ return init_caps_from_wave_format_wma3 (caps , format , format_size , 3 );
183
+ if (IsEqualGUID (subtype , & MFAudioFormat_WMAudio_Lossless ))
184
+ return init_caps_from_wave_format_wma3 (caps , format , format_size , 4 );
184
185
185
186
GST_FIXME ("Unsupported subtype " WG_GUID_FORMAT , WG_GUID_ARGS (* subtype ));
186
187
}
0 commit comments