Rémi Bernon (@rbernon) commented about dlls/winegstreamer/wg_muxer.c:
gst_pad_set_element_private(stream->my_src, stream);
- /* Create parser. */
- if ((stream->parser = find_element(GST_ELEMENT_FACTORY_TYPE_PARSER, GST_RANK_NONE, stream->my_src_caps, NULL)))
- {
GstPad *parser_src = gst_element_get_static_pad(stream->parser, "src");
gchar *parser_name = gst_element_get_name(stream->parser);
gst_bin_add(GST_BIN(muxer->container), stream->parser);
stream->parser_src_caps = gst_pad_query_caps(parser_src, NULL);
GST_INFO("Create parser %s %p for stream %u %p.",
parser_name, stream->parser, stream->id, stream);
g_free(parser_name);
gst_object_unref(parser_src);
- }
I'd split the parser creation in a separate commit. Maybe you could try to link it here already, and remove it if that fails instead of waiting until the muxer has been chosen?