summaryrefslogtreecommitdiffstats
path: root/ext/cairo/gsttextoverlay.c
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.net>2005-11-21 12:13:48 +0000
committerTim-Philipp Müller <tim@centricular.net>2005-11-21 12:13:48 +0000
commitded2471f23c6eaa405ad8bb35065c68ed97e06ca (patch)
tree129f810241472d3df0d008e4946234a756b3863a /ext/cairo/gsttextoverlay.c
parent7ab7f62dc2a567664e82b7acfe126e4ba83ea56e (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.c32
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;
}