mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-13 01:35:30 +00:00
Benjamin's mass_elements works now, but for other reasons. It's a lot faster than 0.8 :-)
Original commit message from CVS: Benjamin's mass_elements works now, but for other reasons. It's a lot faster than 0.8 :-) 2005-02-23 Andy Wingo <wingo@pobox.com> * gst/elements/gstidentity.c (gst_identity_event): Pause the sink task, if any, during EOS. Don't need to take the stream lock, we already have it.
This commit is contained in:
parent
5e8e74f37a
commit
0f9e1490b7
3 changed files with 16 additions and 6 deletions
|
@ -1,5 +1,9 @@
|
|||
2005-02-23 Andy Wingo <wingo@pobox.com>
|
||||
|
||||
* gst/elements/gstidentity.c (gst_identity_event): Pause the sink
|
||||
task, if any, during EOS. Don't need to take the stream lock, we
|
||||
already have it.
|
||||
|
||||
* gst/gstmessage.h
|
||||
* gst/gstmessage.c (_gst_message_free)
|
||||
(gst_message_new_application): New message type, APPLICATION,
|
||||
|
|
|
@ -357,9 +357,8 @@ gst_identity_event (GstPad * pad, GstEvent * event)
|
|||
gst_pad_event_default (pad, event);
|
||||
if (GST_EVENT_FLUSH_DONE (event)) {
|
||||
if (identity->sink_mode == GST_ACTIVATE_PULL) {
|
||||
GST_STREAM_LOCK (identity->sinkpad);
|
||||
/* already have the sink stream lock */
|
||||
gst_task_start (GST_RPAD_TASK (identity->sinkpad));
|
||||
GST_STREAM_UNLOCK (identity->sinkpad);
|
||||
}
|
||||
if (identity->src_mode == GST_ACTIVATE_PUSH) {
|
||||
GST_STREAM_LOCK (identity->srcpad);
|
||||
|
@ -375,7 +374,11 @@ gst_identity_event (GstPad * pad, GstEvent * event)
|
|||
ret = TRUE;
|
||||
goto done;
|
||||
case GST_EVENT_EOS:
|
||||
g_print ("identity got eos\n");
|
||||
/* g_print ("identity got eos\n"); */
|
||||
if (identity->sink_mode == GST_ACTIVATE_PULL) {
|
||||
/* already have the sink stream lock */
|
||||
gst_task_pause (GST_RPAD_TASK (identity->sinkpad));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
g_print ("identity got event %p of type %d\n", event,
|
||||
|
|
|
@ -357,9 +357,8 @@ gst_identity_event (GstPad * pad, GstEvent * event)
|
|||
gst_pad_event_default (pad, event);
|
||||
if (GST_EVENT_FLUSH_DONE (event)) {
|
||||
if (identity->sink_mode == GST_ACTIVATE_PULL) {
|
||||
GST_STREAM_LOCK (identity->sinkpad);
|
||||
/* already have the sink stream lock */
|
||||
gst_task_start (GST_RPAD_TASK (identity->sinkpad));
|
||||
GST_STREAM_UNLOCK (identity->sinkpad);
|
||||
}
|
||||
if (identity->src_mode == GST_ACTIVATE_PUSH) {
|
||||
GST_STREAM_LOCK (identity->srcpad);
|
||||
|
@ -375,7 +374,11 @@ gst_identity_event (GstPad * pad, GstEvent * event)
|
|||
ret = TRUE;
|
||||
goto done;
|
||||
case GST_EVENT_EOS:
|
||||
g_print ("identity got eos\n");
|
||||
/* g_print ("identity got eos\n"); */
|
||||
if (identity->sink_mode == GST_ACTIVATE_PULL) {
|
||||
/* already have the sink stream lock */
|
||||
gst_task_pause (GST_RPAD_TASK (identity->sinkpad));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
g_print ("identity got event %p of type %d\n", event,
|
||||
|
|
Loading…
Reference in a new issue