Fix a bunch of endianness conversions that were done as long instead of int32. Should go into 0.6.1.

Original commit message from CVS:

Fix a bunch of endianness conversions that were done as long instead of
int32.  Should go into 0.6.1.
This commit is contained in:
David Schleef 2003-04-07 18:43:25 +00:00
parent 6b32ca5b1a
commit bb23b9a3a2
5 changed files with 16 additions and 16 deletions

View file

@ -85,7 +85,7 @@ static GstTypeDefinition vorbisdefinition = {
static GstCaps* static GstCaps*
vorbis_type_find (GstBuffer *buf, gpointer private) vorbis_type_find (GstBuffer *buf, gpointer private)
{ {
gulong head = GULONG_FROM_BE (*((gulong *)GST_BUFFER_DATA (buf))); guint32 head = GUINT32_FROM_BE (*((guint32 *)GST_BUFFER_DATA (buf)));
if (head != 0x4F676753) if (head != 0x4F676753)
return NULL; return NULL;

View file

@ -69,7 +69,7 @@ static GstTypeDefinition tarkindefinition =
static GstCaps* static GstCaps*
tarkin_type_find (GstBuffer *buf, gpointer private) tarkin_type_find (GstBuffer *buf, gpointer private)
{ {
gulong head = GULONG_FROM_BE (*((gulong *)GST_BUFFER_DATA (buf))); guint32 head = GUINT32_FROM_BE (*((guint32 *)GST_BUFFER_DATA (buf)));
/* FIXME */ /* FIXME */
return NULL; return NULL;

View file

@ -353,7 +353,7 @@ static void mpeg1mux_buffer_update_video_info(Mpeg1MuxBuffer *mb) {
static void mpeg1mux_buffer_update_audio_info(Mpeg1MuxBuffer *mb) { static void mpeg1mux_buffer_update_audio_info(Mpeg1MuxBuffer *mb) {
guchar *data = mb->buffer; guchar *data = mb->buffer;
gulong offset = mb->scan_pos; gulong offset = mb->scan_pos;
gulong id=0; guint32 id=0;
guint padding_bit; guint padding_bit;
gst_getbits_t gb; gst_getbits_t gb;
guint startup_delay = 0; guint startup_delay = 0;
@ -364,9 +364,9 @@ static void mpeg1mux_buffer_update_audio_info(Mpeg1MuxBuffer *mb) {
GST_DEBUG (0,"mpeg1mux::update_audio_info %lu %lu", mb->base, mb->scan_pos); GST_DEBUG (0,"mpeg1mux::update_audio_info %lu %lu", mb->base, mb->scan_pos);
if (mb->base == 0 && mb->scan_pos == 0) { if (mb->base == 0 && mb->scan_pos == 0) {
id = GULONG_FROM_BE(*((gulong *)(data))); id = GUINT32_FROM_BE(*((guint32 *)(data)));
printf("MPEG audio id = %08lx\n", id); printf("MPEG audio id = %08x\n", (unsigned int)id);
if ((id & 0xfff00000) == AUDIO_SYNCWORD<<20) { if ((id & 0xfff00000) == AUDIO_SYNCWORD<<20) {
/* mpegver = (header >> 19) & 0x3; don't need this for bpf */ /* mpegver = (header >> 19) & 0x3; don't need this for bpf */
@ -442,7 +442,7 @@ static void mpeg1mux_buffer_update_audio_info(Mpeg1MuxBuffer *mb) {
} }
} }
while (offset < mb->length-4) { while (offset < mb->length-4) {
id = GULONG_FROM_BE(*((gulong *)(data+offset))); id = GUINT32_FROM_BE(*((guint32 *)(data+offset)));
/* mpegver = (header >> 19) & 0x3; don't need this for bpf */ /* mpegver = (header >> 19) & 0x3; don't need this for bpf */
layer_index = (id >> 17) & 0x3; layer_index = (id >> 17) & 0x3;

View file

@ -241,7 +241,7 @@ gst_mp1videoparse_real_chain (Mp1VideoParse *mp1videoparse, GstBuffer *buf, GstP
gint sync_state; gint sync_state;
gboolean have_sync; gboolean have_sync;
guchar sync_byte; guchar sync_byte;
gulong head; guint32 head;
gint sync_pos; gint sync_pos;
guint64 time_stamp; guint64 time_stamp;
GstBuffer *temp; GstBuffer *temp;
@ -278,9 +278,9 @@ gst_mp1videoparse_real_chain (Mp1VideoParse *mp1videoparse, GstBuffer *buf, GstP
GST_DEBUG (0,"mp1videoparse: received buffer of %ld bytes %" G_GINT64_FORMAT,size, GST_BUFFER_TIMESTAMP(buf)); GST_DEBUG (0,"mp1videoparse: received buffer of %ld bytes %" G_GINT64_FORMAT,size, GST_BUFFER_TIMESTAMP(buf));
head = GULONG_FROM_BE(*((gulong *)data)); head = GUINT32_FROM_BE(*((guint32 *)data));
GST_DEBUG (0,"mp1videoparse: head is %08lx", head); GST_DEBUG (0,"mp1videoparse: head is %08x", (unsigned int)head);
if (!mp1videoparse_valid_sync(head) || mp1videoparse->need_resync) { if (!mp1videoparse_valid_sync(head) || mp1videoparse->need_resync) {
sync_pos = mp1videoparse_find_next_gop(mp1videoparse, mp1videoparse->partialbuf); sync_pos = mp1videoparse_find_next_gop(mp1videoparse, mp1videoparse->partialbuf);

View file

@ -202,7 +202,7 @@ fprintf(stderr, "have buffer of %d bytes\n",size);
while (offset < (size - 4)) { while (offset < (size - 4)) {
start = gst_mp3parse_next_header (data,size,offset); start = gst_mp3parse_next_header (data,size,offset);
fprintf(stderr, "skipped %d bytes searching for the next header\n",start-offset); fprintf(stderr, "skipped %d bytes searching for the next header\n",start-offset);
header = GULONG_FROM_BE(*((guint32 *)(data+start))); header = GUINT32_FROM_BE(*((guint32 *)(data+start)));
fprintf(stderr, "header is 0x%08x\n",header); fprintf(stderr, "header is 0x%08x\n",header);
/* figure out how big the frame is supposed to be */ /* figure out how big the frame is supposed to be */
@ -231,7 +231,7 @@ gst_mp3parse_chain (GstPad *pad, GstBuffer *buf)
GstMPEGAudioParse *mp3parse; GstMPEGAudioParse *mp3parse;
guchar *data; guchar *data;
glong size,offset = 0; glong size,offset = 0;
unsigned long header; guint32 header;
int bpf; int bpf;
GstBuffer *outbuf; GstBuffer *outbuf;
guint64 last_ts; guint64 last_ts;
@ -282,7 +282,7 @@ gst_mp3parse_chain (GstPad *pad, GstBuffer *buf)
GST_DEBUG (0,"mp3parse: **** now at %ld skipped %d bytes",offset,skipped); GST_DEBUG (0,"mp3parse: **** now at %ld skipped %d bytes",offset,skipped);
} }
/* construct the header word */ /* construct the header word */
header = GULONG_FROM_BE(*((gulong *)(data+offset))); header = GUINT32_FROM_BE(*((guint32 *)(data+offset)));
/* if it's a valid header, go ahead and send off the frame */ /* if it's a valid header, go ahead and send off the frame */
if (head_check(header)) { if (head_check(header)) {
/* calculate the bpf of the frame */ /* calculate the bpf of the frame */
@ -301,17 +301,17 @@ gst_mp3parse_chain (GstPad *pad, GstBuffer *buf)
* the frames are not independently coded. * the frames are not independently coded.
********************************************************************************/ ********************************************************************************/
if ( mp3parse->in_flush ) { if ( mp3parse->in_flush ) {
unsigned long header2; guint32 header2;
if ((size-offset)<(bpf+4)) { if (mp3parse->in_flush) break; } /* wait until we have the the entire current frame as well as the next frame header */ if ((size-offset)<(bpf+4)) { if (mp3parse->in_flush) break; } /* wait until we have the the entire current frame as well as the next frame header */
header2 = GULONG_FROM_BE(*((gulong *)(data+offset+bpf))); header2 = GUINT32_FROM_BE(*((guint32 *)(data+offset+bpf)));
GST_DEBUG(0,"mp3parse: header=%08lX, header2=%08lX, bpf=%d", header, header2, bpf ); GST_DEBUG(0,"mp3parse: header=%08X, header2=%08X, bpf=%d", (unsigned int)header, (unsigned int)header2, bpf );
#define HDRMASK ~( (0xF<<12)/*bitrate*/ | (1<<9)/*padding*/ | (3<<4)/*mode extension*/ ) /* mask the bits which are allowed to differ between frames */ #define HDRMASK ~( (0xF<<12)/*bitrate*/ | (1<<9)/*padding*/ | (3<<4)/*mode extension*/ ) /* mask the bits which are allowed to differ between frames */
if ( (header2&HDRMASK) != (header&HDRMASK) ) { /* require 2 matching headers in a row */ if ( (header2&HDRMASK) != (header&HDRMASK) ) { /* require 2 matching headers in a row */
GST_DEBUG(0,"mp3parse: next header doesn't match (header=%08lX, header2=%08lX, bpf=%d)", header, header2, bpf ); GST_DEBUG(0,"mp3parse: next header doesn't match (header=%08X, header2=%08X, bpf=%d)", (unsigned int)header, (unsigned int)header2, bpf );
offset++; /* This frame is invalid. Start looking for a valid frame at the next position in the stream */ offset++; /* This frame is invalid. Start looking for a valid frame at the next position in the stream */
continue; continue;
} }