mpegtsdemux: Fix memory leaks when PUSI is missed due to packet loss
Fixes bug #573288.
This commit is contained in:
parent
38d3b76d1b
commit
38dd0f6410
@ -137,7 +137,7 @@ gst_section_filter_push (GstSectionFilter * filter, gboolean pusi, /* deter
|
|||||||
filter->section_length &= 0x0fff;
|
filter->section_length &= 0x0fff;
|
||||||
if (filter->section_length > 1021) {
|
if (filter->section_length > 1021) {
|
||||||
GST_DEBUG ("section length too big");
|
GST_DEBUG ("section length too big");
|
||||||
return FALSE;
|
goto failure;
|
||||||
}
|
}
|
||||||
gst_adapter_push (filter->adapter, buf);
|
gst_adapter_push (filter->adapter, buf);
|
||||||
filter->last_continuity_counter = continuity_counter;
|
filter->last_continuity_counter = continuity_counter;
|
||||||
@ -156,6 +156,9 @@ gst_section_filter_push (GstSectionFilter * filter, gboolean pusi, /* deter
|
|||||||
"new continuity counter but not pusi: %d",
|
"new continuity counter but not pusi: %d",
|
||||||
filter->last_continuity_counter, continuity_counter);
|
filter->last_continuity_counter, continuity_counter);
|
||||||
gst_section_filter_clear (filter);
|
gst_section_filter_clear (filter);
|
||||||
|
goto failure;
|
||||||
|
}
|
||||||
|
failure:
|
||||||
|
gst_buffer_unref (buf);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user