mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-10 17:35:59 +00:00
plugins/elements/gsttypefindelement.c: Fix leaking element factories in typefinding.
Original commit message from CVS: * plugins/elements/gsttypefindelement.c: (find_peek), (gst_type_find_element_chain): Fix leaking element factories in typefinding. Fix problem where we forgot about a probable type on non-seekable files, and thus later mis-typefound it.
This commit is contained in:
parent
5bff908d58
commit
88e514af33
3 changed files with 23 additions and 4 deletions
18
ChangeLog
18
ChangeLog
|
@ -1,3 +1,21 @@
|
|||
2005-12-09 Michael Smith <msmith@fluendo.com>
|
||||
|
||||
* plugins/elements/gsttypefindelement.c: (find_peek),
|
||||
(gst_type_find_element_chain):
|
||||
Fix leaking element factories in typefinding.
|
||||
Fix problem where we forgot about a probable type on non-seekable
|
||||
files, and thus later mis-typefound it.
|
||||
|
||||
2005-12-09 Michael Smith <msmith@fluendo.com>
|
||||
|
||||
* common/m4/gst-makecontext.m4:
|
||||
* common/m4/gst-mcsc.m4:
|
||||
* configure.ac:
|
||||
* win32/common/config.h:
|
||||
* win32/common/config.h.in:
|
||||
Remove makecontext stuff; not used in 0.10 and causes problems on
|
||||
HPUX according to bug #322441
|
||||
|
||||
2005-12-07 Wim Taymans <wim@fluendo.com>
|
||||
|
||||
* tests/check/Makefile.am:
|
||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
|||
Subproject commit 8678649bd612dcd040126bdcfb3a640974c86950
|
||||
Subproject commit 4edc214072fe07d2aade96bc336493425654d7b4
|
|
@ -550,6 +550,7 @@ find_peek (gpointer data, gint64 offset, guint size)
|
|||
return NULL;
|
||||
|
||||
if (size <= entry->self->store->size) {
|
||||
entry->requested_size = 0;
|
||||
return GST_BUFFER_DATA (entry->self->store);
|
||||
} else {
|
||||
entry->requested_size = size;
|
||||
|
@ -628,15 +629,15 @@ gst_type_find_element_chain (GstPad * pad, GstBuffer * buffer)
|
|||
|
||||
all_factories = g_list_sort (all_factories, compare_type_find_factory);
|
||||
walk = all_factories;
|
||||
while (all_factories) {
|
||||
while (walk) {
|
||||
entry = new_entry ();
|
||||
|
||||
entry->factory = GST_TYPE_FIND_FACTORY (all_factories->data);
|
||||
entry->factory = GST_TYPE_FIND_FACTORY (walk->data);
|
||||
entry->self = typefind;
|
||||
entry->probability = 0;
|
||||
typefind->possibilities =
|
||||
g_list_prepend (typefind->possibilities, entry);
|
||||
all_factories = g_list_next (all_factories);
|
||||
walk = g_list_next (walk);
|
||||
}
|
||||
gst_plugin_feature_list_free (all_factories);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue