winegstreamer: Create decodebin instead of avidemux.

This commit is contained in:
Alfred Agrell 2024-04-04 18:50:48 +02:00 committed by Alexandre Julliard
parent b85fff5acc
commit 5b24cc1afd
3 changed files with 1 additions and 26 deletions

View file

@ -2329,7 +2329,7 @@ HRESULT avi_splitter_create(IUnknown *outer, IUnknown **out)
struct parser *object;
HRESULT hr;
if (FAILED(hr = parser_create(WG_PARSER_AVIDEMUX, FALSE, &object)))
if (FAILED(hr = parser_create(WG_PARSER_DECODEBIN, TRUE, &object)))
return hr;
strmbase_filter_init(&object->filter, outer, &CLSID_AviSplitter, &filter_ops);

View file

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

View file

@ -1784,29 +1784,6 @@ static BOOL decodebin_parser_init_gst(struct wg_parser *parser)
return TRUE;
}
static BOOL avi_parser_init_gst(struct wg_parser *parser)
{
GstElement *element;
if (!(element = create_element("avidemux", "good")))
return FALSE;
gst_bin_add(GST_BIN(parser->container), element);
g_signal_connect(element, "pad-added", G_CALLBACK(pad_added_cb), parser);
g_signal_connect(element, "pad-removed", G_CALLBACK(pad_removed_cb), parser);
g_signal_connect(element, "no-more-pads", G_CALLBACK(no_more_pads_cb), parser);
pthread_mutex_lock(&parser->mutex);
parser->no_more_pads = false;
pthread_mutex_unlock(&parser->mutex);
if (!link_src_to_element(parser->my_src, element))
return FALSE;
return TRUE;
}
static BOOL wave_parser_init_gst(struct wg_parser *parser)
{
struct wg_parser_stream *stream;
@ -1837,7 +1814,6 @@ static NTSTATUS wg_parser_create(void *args)
static const init_gst_cb init_funcs[] =
{
[WG_PARSER_DECODEBIN] = decodebin_parser_init_gst,
[WG_PARSER_AVIDEMUX] = avi_parser_init_gst,
[WG_PARSER_WAVPARSE] = wave_parser_init_gst,
};