ext/flac/gstflacdec.*: Rewrite flacdec a bit, so that even seeking might work now...
authorTim-Philipp Müller <tim@centricular.net>
Sat, 10 Dec 2005 20:26:33 +0000 (20:26 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sat, 10 Dec 2005 20:26:33 +0000 (20:26 +0000)
commit8db61ef0c74585922c712e48290f4675a09f663a
tree7189f06af697688b77d7900309fd3d944100f73d
parentfc270aab7973d70841134fe8ad511312cc33de4f
ext/flac/gstflacdec.*: Rewrite flacdec a bit, so that even seeking might work now. Most importantly, don't act upon a...

Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_dec_base_init),
(gst_flac_dec_class_init), (gst_flac_dec_init),
(gst_flac_dec_metadata_callback), (gst_flac_dec_error_callback),
(gst_flac_dec_eof), (gst_flac_dec_write), (gst_flac_dec_loop),
(gst_flac_dec_convert_src), (gst_flac_dec_get_src_query_types),
(gst_flac_dec_src_query), (gst_flac_dec_send_newsegment),
(gst_flac_dec_handle_seek_event), (gst_flac_dec_src_event),
(gst_flac_dec_change_state):
* ext/flac/gstflacdec.h:
Rewrite flacdec a bit, so that even seeking might work now. Most
importantly, don't act upon any flow return values we get, just tell
the decoder everything's dandy and act on the flow return values
later on in the loop function. We don't want to mess up the internal
decoder state for non-fatal things like flushing pads etc. Other
than that, use GstSegment (segment seeks don't work yet though, but
should be easy to add), use boilerplate macros, drop the superfluous
'flacdec:' from debug messages, use gst_util_uint64_scale_int, and
lots of other things.
ChangeLog
ext/flac/gstflacdec.c
ext/flac/gstflacdec.h