mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-19 13:55:41 +00:00
ext/wavpack/gstwavpackparse.c: Add handling for segment seeks.
Original commit message from CVS: * ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_loop): Add handling for segment seeks.
This commit is contained in:
parent
405a00c2ce
commit
3d4f863745
2 changed files with 23 additions and 4 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2007-05-02 Sebastian Dröge <slomo@circular-chaos.org>
|
||||||
|
|
||||||
|
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_loop):
|
||||||
|
Add handling for segment seeks.
|
||||||
|
|
||||||
2007-05-02 Sebastian Dröge <slomo@circular-chaos.org>
|
2007-05-02 Sebastian Dröge <slomo@circular-chaos.org>
|
||||||
|
|
||||||
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_pull_buffer),
|
* ext/wavpack/gstwavpackparse.c: (gst_wavpack_parse_pull_buffer),
|
||||||
|
|
|
@ -1014,16 +1014,30 @@ pause:
|
||||||
gst_pad_pause_task (parse->sinkpad);
|
gst_pad_pause_task (parse->sinkpad);
|
||||||
|
|
||||||
if (GST_FLOW_IS_FATAL (flow_ret) || flow_ret == GST_FLOW_NOT_LINKED) {
|
if (GST_FLOW_IS_FATAL (flow_ret) || flow_ret == GST_FLOW_NOT_LINKED) {
|
||||||
if (flow_ret == GST_FLOW_UNEXPECTED) {
|
if (flow_ret == GST_FLOW_UNEXPECTED && parse->srcpad) {
|
||||||
|
if (parse->segment.flags & GST_SEEK_FLAG_SEGMENT) {
|
||||||
|
GstClockTime stop;
|
||||||
|
|
||||||
|
GST_LOG_OBJECT (parse, "Sending segment done");
|
||||||
|
|
||||||
|
if ((stop = parse->segment.stop) == -1)
|
||||||
|
stop = parse->segment.duration;
|
||||||
|
|
||||||
|
gst_element_post_message (GST_ELEMENT_CAST (parse),
|
||||||
|
gst_message_new_segment_done (GST_OBJECT_CAST (parse),
|
||||||
|
parse->segment.format, stop));
|
||||||
|
} else {
|
||||||
GST_LOG_OBJECT (parse, "Sending EOS, at end of stream");
|
GST_LOG_OBJECT (parse, "Sending EOS, at end of stream");
|
||||||
|
gst_pad_push_event (parse->srcpad, gst_event_new_eos ());
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
GST_ELEMENT_ERROR (parse, STREAM, FAILED,
|
GST_ELEMENT_ERROR (parse, STREAM, FAILED,
|
||||||
(_("Internal data stream error.")),
|
(_("Internal data stream error.")),
|
||||||
("stream stopped, reason %s", reason));
|
("stream stopped, reason %s", reason));
|
||||||
}
|
|
||||||
if (parse->srcpad)
|
if (parse->srcpad)
|
||||||
gst_pad_push_event (parse->srcpad, gst_event_new_eos ());
|
gst_pad_push_event (parse->srcpad, gst_event_new_eos ());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue