summaryrefslogtreecommitdiffstats
path: root/ext
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2005-01-25 15:34:09 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2005-01-25 15:34:09 +0000
commit848cd97ed654a480d0b9ed0a7d34f2aa1ae91b44 (patch)
tree2c22908a5453855ca1272463571596901a11a4ab /ext
parent43ab537af5d6752ed138d62f945fceebb1dee187 (diff)
ext/a52dec/gsta52dec.c: Add some debug output. Check that a discont has a valid time associated.
Original commit message from CVS: * ext/a52dec/gsta52dec.c: (gst_a52dec_push), (gst_a52dec_handle_event), (gst_a52dec_chain): Add some debug output. Check that a discont has a valid time associated. * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event), (gst_alsa_sink_loop): Ignore TAG events. A little extra debug for broken timestamps. * ext/dvdnav/dvdnavsrc.c: (dvdnavsrc_init), (dvdnavsrc_loop), (dvdnavsrc_change_state): Ensure we send a discont to engage the link before we send any other events. * ext/dvdread/dvdreadsrc.c: (dvdreadsrc_init), (dvdreadsrc_finalize), (_close), (_open), (_seek_title), (_seek_chapter), (seek_sector), (dvdreadsrc_get), (dvdreadsrc_uri_get_uri), (dvdreadsrc_uri_set_uri): Handle URI of the form dvd://title[,chapter[,angle]]. Currently only dvd://title works in totem because typefinding sends a seek that ends up going back to chapter 1 regardless. * ext/mpeg2dec/gstmpeg2dec.c: * ext/mpeg2dec/gstmpeg2dec.h: Output correct timestamps and handle disconts. * ext/ogg/gstoggdemux.c: (get_relative): Small guard against a null dereference. * ext/pango/gsttextoverlay.c: (gst_textoverlay_finalize), (gst_textoverlay_set_property): Free memory when done. Don't call gst_event_filler_get_duration on EOS events. Use GST_LOG and GST_WARNING instead of g_message and g_warning. * ext/smoothwave/gstsmoothwave.c: (gst_smoothwave_init), (draw_line), (gst_smoothwave_dispose), (gst_sw_sinklink), (gst_sw_srclink), (gst_smoothwave_chain): Draw solid lines, prettier colours. * gst/mpeg2sub/gstmpeg2subt.c: (gst_mpeg2subt_init): Add a default palette that'll work for some movies. * gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_init), (gst_dvd_demux_handle_dvd_event), (gst_dvd_demux_send_discont), (gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset): * gst/mpegstream/gstdvddemux.h: * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont), (gst_mpeg_demux_parse_syshead), (gst_mpeg_demux_parse_pes): * gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init), (gst_mpeg_parse_handle_discont), (gst_mpeg_parse_parse_packhead): * gst/mpegstream/gstmpegparse.h: Use PTM/NAV events when for timestamp adjustment when connected to dvdnavsrc. Don't use many discont events where one suffices. * gst/playback/gstplaybasebin.c: (group_destroy), (gen_preroll_element), (gst_play_base_bin_add_element): * gst/playback/gstplaybasebin.h: Make sure we remove subtitles from the same bin we put them in. * gst/subparse/gstsubparse.c: (convert_encoding), (parse_subrip), (gst_subparse_buffer_format_autodetect), (gst_subparse_change_state): Fix some memleaks and invalid accesses. * gst/typefind/gsttypefindfunctions.c: (ogganx_type_find), (oggskel_type_find), (cmml_type_find), (plugin_init): Some typefind functions for Annodex v3.0 files * gst/wavparse/gstwavparse.h: GstRiffReadClass is the correct parent class.
Diffstat (limited to 'ext')
-rw-r--r--ext/pango/gsttextoverlay.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/pango/gsttextoverlay.c b/ext/pango/gsttextoverlay.c
index bbd92b02..8b427ffb 100644
--- a/ext/pango/gsttextoverlay.c
+++ b/ext/pango/gsttextoverlay.c
@@ -443,7 +443,8 @@ gst_textoverlay_video_chain (GstPad * pad, GstData * _data)
GST_BUFFER_TIMESTAMP (GST_BUFFER (data)))
#define GST_DATA_DURATION(data) \
(GST_IS_EVENT (data) ? \
- gst_event_filler_get_duration (GST_EVENT (data)) : \
+ ((GST_EVENT_TYPE (data) == GST_EVENT_FILLER) ? gst_event_filler_get_duration (GST_EVENT (data)) : \
+ GST_CLOCK_TIME_NONE) : \
GST_BUFFER_DURATION (GST_BUFFER (data)))
#define PAST_END(data, time) \
@@ -631,6 +632,11 @@ gst_textoverlay_finalize (GObject * object)
{
GstTextOverlay *overlay = GST_TEXTOVERLAY (object);
+ if (overlay->default_text) {
+ g_free (overlay->default_text);
+ overlay->default_text = NULL;
+ }
+
if (overlay->layout) {
g_object_unref (overlay->layout);
overlay->layout = NULL;
@@ -751,12 +757,12 @@ gst_textoverlay_set_property (GObject * object, guint prop_id,
desc = pango_font_description_from_string (g_value_get_string (value));
if (desc) {
- g_message ("font description set: %s", g_value_get_string (value));
+ GST_LOG ("font description set: %s", g_value_get_string (value));
pango_layout_set_font_description (overlay->layout, desc);
pango_font_description_free (desc);
render_text (overlay);
} else
- g_warning ("font description parse failed: %s",
+ GST_WARNING ("font description parse failed: %s",
g_value_get_string (value));
break;
}