diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2007-11-20 13:08:45 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2007-11-20 13:08:45 +0000 |
commit | ded2cc6e39501f249ac16b88f18c1a92e136b95a (patch) | |
tree | d483394ee5020f2e84336e6996a4603f0494e7cc /ext/wavpack/gstwavpackstreamreader.c | |
parent | dfdc0fa8c9ee0dce74fa4b353209356baea620c8 (diff) |
ext/wavpack/: Add support for encoding, parsing and decoding multichannel files with up to 8 channels. This also impr...
Original commit message from CVS:
* ext/wavpack/gstwavpackcommon.c:
(gst_wavpack_get_default_channel_mask),
(gst_wavpack_set_channel_layout),
(gst_wavpack_get_default_channel_positions),
(gst_wavpack_get_channel_mask_from_positions),
(gst_wavpack_set_channel_mapping):
* ext/wavpack/gstwavpackcommon.h:
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_reset),
(gst_wavpack_dec_sink_set_caps), (gst_wavpack_dec_chain):
* ext/wavpack/gstwavpackdec.h:
* ext/wavpack/gstwavpackenc.c: (gst_wavpack_enc_reset),
(gst_wavpack_enc_init), (gst_wavpack_enc_sink_set_caps),
(gst_wavpack_enc_set_wp_config), (gst_wavpack_enc_push_block),
(gst_wavpack_enc_fix_channel_order), (gst_wavpack_enc_chain),
(gst_wavpack_enc_rewrite_first_block),
(gst_wavpack_enc_sink_event):
* ext/wavpack/gstwavpackenc.h:
* ext/wavpack/gstwavpackparse.c:
(gst_wavpack_parse_index_append_entry), (gst_wavpack_parse_reset),
(gst_wavpack_parse_scan_to_find_sample),
(gst_wavpack_parse_sink_event), (gst_wavpack_parse_create_src_pad),
(gst_wavpack_parse_push_buffer), (gst_wavpack_parse_loop):
* ext/wavpack/gstwavpackparse.h:
Add support for encoding, parsing and decoding multichannel
files with up to 8 channels. This also improves the robustness
of parsing quite a bit.
* ext/wavpack/gstwavpackstreamreader.c:
(gst_wavpack_stream_reader_read_bytes),
(gst_wavpack_stream_reader_get_pos),
(gst_wavpack_stream_reader_set_pos_abs),
(gst_wavpack_stream_reader_set_pos_rel),
(gst_wavpack_stream_reader_push_back_byte),
(gst_wavpack_stream_reader_get_length),
(gst_wavpack_stream_reader_can_seek),
(gst_wavpack_stream_reader_write_bytes):
Improve debugging.
Diffstat (limited to 'ext/wavpack/gstwavpackstreamreader.c')
-rw-r--r-- | ext/wavpack/gstwavpackstreamreader.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/ext/wavpack/gstwavpackstreamreader.c b/ext/wavpack/gstwavpackstreamreader.c index 9b6260b8..868f7bfa 100644 --- a/ext/wavpack/gstwavpackstreamreader.c +++ b/ext/wavpack/gstwavpackstreamreader.c @@ -35,11 +35,15 @@ gst_wavpack_stream_reader_read_bytes (void *id, void *data, int32_t bcount) uint32_t left = rid->length - rid->position; uint32_t to_read = MIN (left, bcount); + GST_DEBUG ("Trying to read %d of %d bytes from position %d", bcount, + rid->length, rid->position); + if (to_read > 0) { g_memmove (data, rid->buffer + rid->position, to_read); rid->position += to_read; return to_read; } else { + GST_WARNING ("Couldn't read %d bytes"); return 0; } } @@ -47,20 +51,23 @@ gst_wavpack_stream_reader_read_bytes (void *id, void *data, int32_t bcount) static uint32_t gst_wavpack_stream_reader_get_pos (void *id) { + GST_DEBUG ("Returning position %d", ((read_id *) id)->position); return ((read_id *) id)->position; } static int gst_wavpack_stream_reader_set_pos_abs (void *id, uint32_t pos) { - GST_DEBUG ("should not be called"); + GST_WARNING ("Should not be called: tried to set absolute position to %d", + pos); return -1; } static int gst_wavpack_stream_reader_set_pos_rel (void *id, int32_t delta, int mode) { - GST_DEBUG ("should not be called"); + GST_WARNING ("Should not be called: tried to set relative position to %d" + " with mode %d", delta, mode); return -1; } @@ -69,6 +76,8 @@ gst_wavpack_stream_reader_push_back_byte (void *id, int c) { read_id *rid = (read_id *) id; + GST_DEBUG ("Pushing back one byte: 0x%x", c); + rid->position -= 1; if (rid->position < 0) rid->position = 0; @@ -78,19 +87,22 @@ gst_wavpack_stream_reader_push_back_byte (void *id, int c) static uint32_t gst_wavpack_stream_reader_get_length (void *id) { + GST_DEBUG ("Returning length %d", ((read_id *) id)->length); + return ((read_id *) id)->length; } static int gst_wavpack_stream_reader_can_seek (void *id) { + GST_DEBUG ("Can't seek"); return FALSE; } static int32_t gst_wavpack_stream_reader_write_bytes (void *id, void *data, int32_t bcount) { - GST_DEBUG ("should not be called"); + GST_WARNING ("Should not be called, tried to write %d bytes", bcount); return 0; } |