[PATCH 4/7] winegstreamer: Check whether transform is supported when creating MPEG audio decoder.
Zebediah Figura (she/her)
zfigura at codeweavers.com
Tue May 3 16:18:37 CDT 2022
On 5/3/22 13:28, Anton Baskanov wrote:
> Signed-off-by: Anton Baskanov <baskanov at gmail.com>
> ---
> dlls/winegstreamer/quartz_transform.c | 28 +++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/dlls/winegstreamer/quartz_transform.c b/dlls/winegstreamer/quartz_transform.c
> index 375c549aad5..98953a5b47f 100644
> --- a/dlls/winegstreamer/quartz_transform.c
> +++ b/dlls/winegstreamer/quartz_transform.c
> @@ -296,9 +296,37 @@ static const struct transform_ops mpeg_audio_codec_transform_ops =
>
> HRESULT mpeg_audio_codec_create(IUnknown *outer, IUnknown **out)
> {
> + struct wg_format output_format =
> + {
> + .major_type = WG_MAJOR_TYPE_AUDIO,
> + .u.audio = {
> + .format = WG_AUDIO_FORMAT_S16LE,
> + .channel_mask = 1,
> + .channels = 1,
> + .rate = 44100,
> + },
> + };
> + struct wg_format input_format =
> + {
> + .major_type = WG_MAJOR_TYPE_MPEG1_AUDIO,
> + .u.mpeg1_audio = {
> + .layer = 2,
> + .rate = 44100,
> + .channels = 1,
> + },
> + };
> + struct wg_transform *transform;
> struct transform *object;
> HRESULT hr;
>
> + transform = wg_transform_create(&input_format, &output_format);
> + if (!transform)
> + {
> + FIXME("GStreamer doesn't support MPEG-1 audio decoding, please install appropriate plugins.\n");
I didn't notice this when reviewing Rémi's patches, but this should be a
winediag error, not a FIXME. I'll send patches to address that for the
WMA and H.264 decoders as well.
> + return E_FAIL;
> + }
> + wg_transform_destroy(transform);
> +
> hr = transform_create(outer, &CLSID_CMpegAudioCodec, &mpeg_audio_codec_transform_ops, &object);
> if (FAILED(hr))
> return hr;
More information about the wine-devel
mailing list