[PATCH 4/5] winegstreamer: Allow converting to 16-bit 2-channel PCM within the splitter filter.
Zebediah Figura
z.figura12 at gmail.com
Mon Jan 27 19:06:56 CST 2020
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/winegstreamer/gstdemux.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c
index 8e36644030a..f9eed906b6e 100644
--- a/dlls/winegstreamer/gstdemux.c
+++ b/dlls/winegstreamer/gstdemux.c
@@ -1745,6 +1745,24 @@ static HRESULT gstdecoder_source_get_media_type(struct gstdemux_source *pin,
* vih->bmiHeader.biHeight * vih->bmiHeader.biBitCount / 8;
return S_OK;
}
+ else if (IsEqualGUID(&pin->mt.majortype, &MEDIATYPE_Audio) && index == 1)
+ {
+ const WAVEFORMATEX *our_format = (WAVEFORMATEX *)pin->mt.pbFormat;
+ WAVEFORMATEX *format;
+
+ *mt = pin->mt;
+ mt->subtype = MEDIASUBTYPE_PCM;
+ mt->pbFormat = CoTaskMemAlloc(sizeof(WAVEFORMATEX));
+ format = (WAVEFORMATEX *)mt->pbFormat;
+ format->wFormatTag = WAVE_FORMAT_PCM;
+ format->nChannels = 2;
+ format->nSamplesPerSec = our_format->nSamplesPerSec;
+ format->wBitsPerSample = 16;
+ format->nBlockAlign = 4;
+ format->nAvgBytesPerSec = format->nSamplesPerSec * 4;
+ format->cbSize = 0;
+ return S_OK;
+ }
return VFW_S_NO_MORE_ITEMS;
}
--
2.25.0
More information about the wine-devel
mailing list