diff options
author | Thomas Vander Stichele <thomas@apestaart.org> | 2007-04-12 11:41:11 +0000 |
---|---|---|
committer | Thomas Vander Stichele <thomas@apestaart.org> | 2007-04-12 11:41:11 +0000 |
commit | 2fc868841f152a80ac3dda9c0fe632e7ac0118ea (patch) | |
tree | b96ddddc9b2efca498468a385c95bd768fa4c035 /gst/rtp/gstrtpvorbisdepay.c | |
parent | a7efc5ceb7653a54c6ba29352c0f2c6df1d82555 (diff) |
gst/rtp/Makefile.am: gst/rtp/fnv1hash.c (MASK_24, FNV1_HASH_32_INIT, FNV1_HASH_32_PRIME, fnv1_hash_32_new, fnv1_hash_...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/fnv1hash.c (MASK_24, FNV1_HASH_32_INIT, FNV1_HASH_32_PRIME,
fnv1_hash_32_new, fnv1_hash_32_update, fnv1_hash_32_to_24):
* gst/rtp/fnv1hash.h (__GST_FNV1_HASH_H__):
Add a simple hashing implementation that we can use to generate
a 24-bit ident value based on the codebooks for vorbis and theora.
* gst/rtp/gstrtptheorapay.c (gst_rtp_theora_pay_finish_headers,
gst_rtp_theora_pay_handle_buffer):
* gst/rtp/gstrtpvorbisdepay.c
(gst_rtp_vorbis_depay_parse_configuration,
gst_rtp_vorbis_depay_switch_codebook, gst_rtp_vorbis_depay_process):
* gst/rtp/gstrtpvorbispay.c (gst_rtp_vorbis_pay_reset_packet,
gst_rtp_vorbis_pay_init_packet, gst_rtp_vorbis_pay_flush_packet,
gst_rtp_vorbis_pay_finish_headers, gst_rtp_vorbis_pay_handle_buffer):
Use the hashing function, ensuring that the same codebooks result
in the same ident and thus the same SDP description.
Various log fixes/changes.
Diffstat (limited to 'gst/rtp/gstrtpvorbisdepay.c')
-rw-r--r-- | gst/rtp/gstrtpvorbisdepay.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gst/rtp/gstrtpvorbisdepay.c b/gst/rtp/gstrtpvorbisdepay.c index eab62100..d71c72ac 100644 --- a/gst/rtp/gstrtpvorbisdepay.c +++ b/gst/rtp/gstrtpvorbisdepay.c @@ -227,7 +227,7 @@ gst_rtp_vorbis_depay_parse_configuration (GstRtpVorbisDepay * rtpvorbisdepay, size -= 5; data += 5; - GST_DEBUG_OBJECT (rtpvorbisdepay, "header %d, ident %08x, length %u", i, + GST_DEBUG_OBJECT (rtpvorbisdepay, "header %d, ident 0x%08x, length %u", i, ident, length); if (size < length + VORBIS_ID_LEN) @@ -363,6 +363,7 @@ gst_rtp_vorbis_depay_switch_codebook (GstRtpVorbisDepay * rtpvorbisdepay, GList *walk; gboolean res = FALSE; + GST_DEBUG_OBJECT (rtpvorbisdepay, "Looking up code book ident 0x%08x", ident); for (walk = rtpvorbisdepay->configs; walk; walk = g_list_next (walk)) { GstRtpVorbisConfig *conf = (GstRtpVorbisConfig *) walk->data; @@ -436,6 +437,7 @@ gst_rtp_vorbis_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf) if (G_UNLIKELY (VDT == 3)) goto ignore_reserved; + GST_DEBUG_OBJECT (depayload, "header: 0x%08x", header); ident = (header >> 8) & 0xffffff; F = (header & 0xc0) >> 6; packets = (header & 0xf); @@ -447,9 +449,11 @@ gst_rtp_vorbis_depay_process (GstBaseRTPDepayload * depayload, GstBuffer * buf) if (!rtpvorbisdepay->config) { /* we don't have an active codebook, find the codebook and * activate it */ + GST_DEBUG_OBJECT (rtpvorbisdepay, "No active codebook, switching"); do_switch = TRUE; } else if (rtpvorbisdepay->config->ident != ident) { /* codebook changed */ + GST_DEBUG_OBJECT (rtpvorbisdepay, "codebook changed, switching"); do_switch = TRUE; } if (do_switch) { |