winegstreamer: Use decodebin instead of wavparse.

This commit is contained in:
Alfred Agrell 2024-04-04 18:53:01 +02:00 committed by Alexandre Julliard
parent 5b24cc1afd
commit 460c28c451
3 changed files with 1 additions and 27 deletions

View file

@ -2251,7 +2251,7 @@ HRESULT wave_parser_create(IUnknown *outer, IUnknown **out)
struct parser *object;
HRESULT hr;
if (FAILED(hr = parser_create(WG_PARSER_WAVPARSE, FALSE, &object)))
if (FAILED(hr = parser_create(WG_PARSER_DECODEBIN, TRUE, &object)))
return hr;
strmbase_filter_init(&object->filter, outer, &CLSID_WAVEParser, &filter_ops);

View file

@ -201,7 +201,6 @@ typedef UINT32 wg_parser_type;
enum wg_parser_type
{
WG_PARSER_DECODEBIN,
WG_PARSER_WAVPARSE,
};
typedef UINT64 wg_parser_t;

View file

@ -1784,37 +1784,12 @@ static BOOL decodebin_parser_init_gst(struct wg_parser *parser)
return TRUE;
}
static BOOL wave_parser_init_gst(struct wg_parser *parser)
{
struct wg_parser_stream *stream;
GstElement *element;
if (!(element = create_element("wavparse", "good")))
return FALSE;
gst_bin_add(GST_BIN(parser->container), element);
if (!link_src_to_element(parser->my_src, element))
return FALSE;
if (!(stream = create_stream(parser)))
return FALSE;
if (!link_element_to_sink(element, stream->my_sink))
return FALSE;
gst_pad_set_active(stream->my_sink, 1);
parser->no_more_pads = true;
return TRUE;
}
static NTSTATUS wg_parser_create(void *args)
{
static const init_gst_cb init_funcs[] =
{
[WG_PARSER_DECODEBIN] = decodebin_parser_init_gst,
[WG_PARSER_WAVPARSE] = wave_parser_init_gst,
};
struct wg_parser_create_params *params = args;