Skip to content

Commit 1a4c585

Browse files
rbernonjulliard
authored andcommitted
winegstreamer: Use wmaversion = 4 for MFAudioFormat_WMAudio_Lossless.
Patch by Attila Fidan. Fixes: 9192b3b Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=57294
1 parent ff81ed9 commit 1a4c585

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

dlls/winegstreamer/wg_media_type.c

+6-5
Original file line numberDiff line numberDiff line change
@@ -151,13 +151,13 @@ static void init_caps_from_wave_format_wma2(GstCaps *caps, const WMAUDIO2WAVEFOR
151151
gst_caps_set_simple(caps, "bitrate", G_TYPE_INT, format->wfx.nAvgBytesPerSec * 8, NULL);
152152
}
153153

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)
155155
{
156156
init_caps_codec_data(caps, &format->wfx + 1, format->wfx.cbSize);
157157

158158
gst_structure_remove_field(gst_caps_get_structure(caps, 0), "format");
159159
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);
161161
gst_caps_set_simple(caps, "block_align", G_TYPE_INT, format->wfx.nBlockAlign, NULL);
162162
gst_caps_set_simple(caps, "depth", G_TYPE_INT, format->wfx.wBitsPerSample, NULL);
163163
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,
178178
return init_caps_from_wave_format_wma1(caps, format, format_size);
179179
if (IsEqualGUID(subtype, &MFAudioFormat_WMAudioV8))
180180
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);
184185

185186
GST_FIXME("Unsupported subtype " WG_GUID_FORMAT, WG_GUID_ARGS(*subtype));
186187
}

0 commit comments

Comments
 (0)