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:
Andy Wingo 2005-02-23 17:24:26 +00:00
parent 5e8e74f37a
commit 0f9e1490b7
3 changed files with 16 additions and 6 deletions

View file

@ -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,

View file

@ -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,

View file

@ -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,