mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
plug memleak in oggdemux, fix format strings in vorbisdec
Original commit message from CVS: plug memleak in oggdemux, fix format strings in vorbisdec
This commit is contained in:
parent
33f1e1633f
commit
eec80f9dc7
3 changed files with 16 additions and 3 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
||||||
|
2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||||
|
|
||||||
|
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_dispose):
|
||||||
|
plug a memleak, allows me to import 1479 albums in one go
|
||||||
|
in jamboree
|
||||||
|
* ext/vorbis/vorbisdec.c: (vorbis_dec_sink_event),
|
||||||
|
(vorbis_handle_type_packet), (vorbis_dec_chain),
|
||||||
|
(vorbis_dec_change_state):
|
||||||
|
fix some format strings
|
||||||
|
|
||||||
2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
2005-07-08 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||||
|
|
||||||
* docs/libs/tmpl/gstcolorbalance.sgml:
|
* docs/libs/tmpl/gstcolorbalance.sgml:
|
||||||
|
|
|
@ -268,6 +268,8 @@ gst_ogg_pad_dispose (GObject * object)
|
||||||
{
|
{
|
||||||
GstOggPad *pad = GST_OGG_PAD (object);
|
GstOggPad *pad = GST_OGG_PAD (object);
|
||||||
|
|
||||||
|
gst_element_set_state (pad->element, GST_STATE_NULL);
|
||||||
|
|
||||||
gst_object_replace ((GstObject **) (&pad->elem_pad), NULL);
|
gst_object_replace ((GstObject **) (&pad->elem_pad), NULL);
|
||||||
gst_object_replace ((GstObject **) (&pad->element), NULL);
|
gst_object_replace ((GstObject **) (&pad->element), NULL);
|
||||||
gst_object_replace ((GstObject **) (&pad->elem_out), NULL);
|
gst_object_replace ((GstObject **) (&pad->elem_out), NULL);
|
||||||
|
|
|
@ -395,7 +395,7 @@ vorbis_dec_sink_event (GstPad * pad, GstEvent * event)
|
||||||
dec->granulepos = -1;
|
dec->granulepos = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GST_DEBUG ("vd: discont %lld", dec->granulepos);
|
GST_DEBUG ("vd: discont %" G_GUINT64_FORMAT, dec->granulepos);
|
||||||
|
|
||||||
dec->granulepos = -1;
|
dec->granulepos = -1;
|
||||||
|
|
||||||
|
@ -735,7 +735,7 @@ vorbis_dec_chain (GstPad * pad, GstBuffer * buffer)
|
||||||
*/
|
*/
|
||||||
packet.e_o_s = 0;
|
packet.e_o_s = 0;
|
||||||
|
|
||||||
GST_DEBUG ("vorbis granule: %lld", packet.granulepos);
|
GST_DEBUG ("vorbis granule: %" G_GUINT64_FORMAT, packet.granulepos);
|
||||||
|
|
||||||
/* switch depending on packet type */
|
/* switch depending on packet type */
|
||||||
if (packet.packet[0] & 1) {
|
if (packet.packet[0] & 1) {
|
||||||
|
@ -748,7 +748,7 @@ vorbis_dec_chain (GstPad * pad, GstBuffer * buffer)
|
||||||
result = vorbis_handle_data_packet (vd, &packet);
|
result = vorbis_handle_data_packet (vd, &packet);
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_DEBUG ("offset end: %lld", GST_BUFFER_OFFSET_END (buffer));
|
GST_DEBUG ("offset end: %" G_GUINT64_FORMAT, GST_BUFFER_OFFSET_END (buffer));
|
||||||
|
|
||||||
/* granulepos is the last sample in the packet */
|
/* granulepos is the last sample in the packet */
|
||||||
if (GST_BUFFER_OFFSET_END_IS_VALID (buffer))
|
if (GST_BUFFER_OFFSET_END_IS_VALID (buffer))
|
||||||
|
@ -791,6 +791,7 @@ vorbis_dec_change_state (GstElement * element)
|
||||||
case GST_STATE_PLAYING_TO_PAUSED:
|
case GST_STATE_PLAYING_TO_PAUSED:
|
||||||
break;
|
break;
|
||||||
case GST_STATE_PAUSED_TO_READY:
|
case GST_STATE_PAUSED_TO_READY:
|
||||||
|
GST_DEBUG_OBJECT (vd, "PAUSED -> READY, clearing vorbis structures");
|
||||||
vorbis_block_clear (&vd->vb);
|
vorbis_block_clear (&vd->vb);
|
||||||
vorbis_dsp_clear (&vd->vd);
|
vorbis_dsp_clear (&vd->vd);
|
||||||
vorbis_comment_clear (&vd->vc);
|
vorbis_comment_clear (&vd->vc);
|
||||||
|
|
Loading…
Reference in a new issue