diff options
author | Tim-Philipp Müller <tim@centricular.net> | 2005-11-21 12:13:48 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.net> | 2005-11-21 12:13:48 +0000 |
commit | ded2471f23c6eaa405ad8bb35065c68ed97e06ca (patch) | |
tree | 129f810241472d3df0d008e4946234a756b3863a /ext/cairo/gsttextoverlay.c | |
parent | 7ab7f62dc2a567664e82b7acfe126e4ba83ea56e (diff) |
Fix for collect pads API change. Also fix textoverlay state change function.
Original commit message from CVS:
* ext/cairo/gsttextoverlay.c: (gst_text_overlay_finalize),
(gst_text_overlay_init), (gst_text_overlay_text_pad_linked),
(gst_text_overlay_text_pad_unlinked), (gst_text_overlay_pop_video),
(gst_text_overlay_pop_text), (gst_text_overlay_collected),
(gst_text_overlay_change_state):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_init),
(gst_matroska_mux_reset), (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_best_pad), (gst_matroska_mux_change_state):
* gst/smpte/gstsmpte.c: (gst_smpte_init), (gst_smpte_collected):
* gst/videomixer/videomixer.c: (gst_videomixer_init),
(gst_videomixer_request_new_pad), (gst_videomixer_fill_queues),
(gst_videomixer_change_state):
Fix for collect pads API change. Also fix textoverlay state
change function.
Diffstat (limited to 'ext/cairo/gsttextoverlay.c')
-rw-r--r-- | ext/cairo/gsttextoverlay.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/ext/cairo/gsttextoverlay.c b/ext/cairo/gsttextoverlay.c index 81d79df6..c358ba7e 100644 --- a/ext/cairo/gsttextoverlay.c +++ b/ext/cairo/gsttextoverlay.c @@ -192,7 +192,7 @@ gst_text_overlay_finalize (GObject * object) { GstTextOverlay *overlay = GST_TEXT_OVERLAY (object); - gst_collectpads_stop (overlay->collect); + gst_collect_pads_stop (overlay->collect); gst_object_unref (overlay->collect); g_free (overlay->text_fill_image); @@ -253,12 +253,12 @@ gst_text_overlay_init (GstTextOverlay * overlay, GstTextOverlayClass * klass) overlay->framerate = 0.0; - overlay->collect = gst_collectpads_new (); + overlay->collect = gst_collect_pads_new (); - gst_collectpads_set_function (overlay->collect, + gst_collect_pads_set_function (overlay->collect, GST_DEBUG_FUNCPTR (gst_text_overlay_collected), overlay); - overlay->video_collect_data = gst_collectpads_add_pad (overlay->collect, + overlay->video_collect_data = gst_collect_pads_add_pad (overlay->collect, overlay->video_sinkpad, sizeof (GstCollectData)); /* text pad will be added when it is linked */ @@ -563,7 +563,7 @@ gst_text_overlay_text_pad_linked (GstPad * pad, GstPad * peer) GST_DEBUG_OBJECT (overlay, "Text pad linked"); if (overlay->text_collect_data == NULL) { - overlay->text_collect_data = gst_collectpads_add_pad (overlay->collect, + overlay->text_collect_data = gst_collect_pads_add_pad (overlay->collect, overlay->text_sinkpad, sizeof (GstCollectData)); } @@ -583,7 +583,7 @@ gst_text_overlay_text_pad_unlinked (GstPad * pad) GST_DEBUG_OBJECT (overlay, "Text pad unlinked"); if (overlay->text_collect_data) { - gst_collectpads_remove_pad (overlay->collect, overlay->text_sinkpad); + gst_collect_pads_remove_pad (overlay->collect, overlay->text_sinkpad); overlay->text_collect_data = NULL; } @@ -724,7 +724,7 @@ gst_text_overlay_pop_video (GstTextOverlay * overlay) { GstBuffer *buf; - buf = gst_collectpads_pop (overlay->collect, overlay->video_collect_data); + buf = gst_collect_pads_pop (overlay->collect, overlay->video_collect_data); g_return_if_fail (buf != NULL); gst_buffer_unref (buf); } @@ -735,7 +735,7 @@ gst_text_overlay_pop_text (GstTextOverlay * overlay) GstBuffer *buf; if (overlay->text_collect_data) { - buf = gst_collectpads_pop (overlay->collect, overlay->text_collect_data); + buf = gst_collect_pads_pop (overlay->collect, overlay->text_collect_data); g_return_if_fail (buf != NULL); gst_buffer_unref (buf); } @@ -757,14 +757,14 @@ gst_text_overlay_collected (GstCollectPads * pads, gpointer data) GST_DEBUG ("Collecting"); - video_frame = gst_collectpads_peek (overlay->collect, + video_frame = gst_collect_pads_peek (overlay->collect, overlay->video_collect_data); /* send EOS if video stream EOSed regardless of text stream */ if (video_frame == NULL) { GST_DEBUG ("Video stream at EOS"); if (overlay->text_collect_data) { - text_buf = gst_collectpads_pop (overlay->collect, + text_buf = gst_collect_pads_pop (overlay->collect, overlay->text_collect_data); } gst_pad_push_event (overlay->srcpad, gst_event_new_eos ()); @@ -806,7 +806,7 @@ gst_text_overlay_collected (GstCollectPads * pads, gpointer data) goto done; } - text_buf = gst_collectpads_peek (overlay->collect, + text_buf = gst_collect_pads_peek (overlay->collect, overlay->text_collect_data); /* just push the video frame if the text stream has EOSed */ @@ -880,7 +880,12 @@ gst_text_overlay_change_state (GstElement * element, GstStateChange transition) switch (transition) { case GST_STATE_CHANGE_READY_TO_PAUSED: - gst_collectpads_start (overlay->collect); + gst_collect_pads_start (overlay->collect); + break; + case GST_STATE_CHANGE_PAUSED_TO_READY: + /* need to unblock the collectpads before calling the + * parent change_state so that streaming can finish */ + gst_collect_pads_stop (overlay->collect); break; default: break; @@ -891,9 +896,6 @@ gst_text_overlay_change_state (GstElement * element, GstStateChange transition) return ret; switch (transition) { - case GST_STATE_CHANGE_PAUSED_TO_READY: - gst_collectpads_stop (overlay->collect); - break; default: break; } |