Commit 9d8de06f authored by Anton Baskanov's avatar Anton Baskanov Committed by Alexandre Julliard

winegstreamer: Check whether transform is supported when creating MPEG layer-3 decoder.

parent a9cda37f
......@@ -816,9 +816,39 @@ static const struct transform_ops mpeg_layer3_decoder_transform_ops =
HRESULT mpeg_layer3_decoder_create(IUnknown *outer, IUnknown **out)
{
static const 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,
},
};
static const struct wg_format input_format =
{
.major_type = WG_MAJOR_TYPE_AUDIO_MPEG1,
.u.audio_mpeg1 =
{
.layer = 3,
.channels = 1,
.rate = 44100,
},
};
struct wg_transform *transform;
struct transform *object;
HRESULT hr;
transform = wg_transform_create(&input_format, &output_format);
if (!transform)
{
ERR_(winediag)("GStreamer doesn't support MPEG-1 audio decoding, please install appropriate plugins.\n");
return E_FAIL;
}
wg_transform_destroy(transform);
hr = transform_create(outer, &CLSID_mpeg_layer3_decoder, &mpeg_layer3_decoder_transform_ops, &object);
if (FAILED(hr))
return hr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment