diff --git a/ChangeLog b/ChangeLog index caacad6a04..7627473181 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,56 @@ +2004-04-20 Daniel Gazard + + reviewed by David Schleef + + * configure.ac: bump required gstreamer version to 0.8.1.1 + because of following changes [--ds] + + * gst-libs/gst/riff/riff-read.c: Include gst/gstutils.h. + (gst_riff_peek_head, gst_riff_peek_list, gst_riff_read_list) + (gst_riff_read_header): Use GST_READ_UINT* + macros to access possibly unaligned memory. + + * gst/typefind/gsttypefindfunctions.c: Include gst/gstutils.h. + (mp3_type_find): Use GST_READ_UINT* + macros to access possibly unaligned memory. + (mp3_type_find, mpeg1_parse_header, qt_type_find) + (speex_type_find): Likewise + + * gst/tags/gstvorbistag.c: (ADVANCE): Likewise + + * gst/qtdemux/qtdemux.c: Include stdlib.h (needed by realloc). + (QTDEMUX_GUINT32_GET, QTDEMUX_GUINT16_GET, QTDEMUX_FP32_GET) + (QTDEMUX_FP16_GET, QTDEMUX_FOURCC_GET) + (gst_qtdemux_loop_header, gst_qtdemux_loop_header) + (qtdemux_node_dump_foreach, qtdemux_tree_get_child_by_type) + (qtdemux_tree_get_sibling_by_type): Use GST_READ_UINT* + macros to access possibly unaligned memory. + + * gst/mpegstream/gstmpegpacketize.c: (parse_generic, parse_chunk): + Likewise. + + * gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead) + (gst_mpeg_demux_parse_packet, gst_mpeg_demux_parse_pes): Likewise. + + * gst/mpegaudioparse/gstmpegaudioparse.c: (gst_mp3parse_chain): + Likewise. + + * gst/mpeg2sub/gstmpeg2subt.c: (GST_BUFFER_DATA) + (gst_mpeg2subt_chain_subtitle): Likewise. + + * gst/mpeg1videoparse/gstmp1videoparse.c: (mp1videoparse_parse_seq) + (gst_mp1videoparse_time_code, gst_mp1videoparse_real_chain): + Likewise. + + * gst/mpeg1sys/buffer.c: (mpeg1mux_buffer_update_audio_info): + Likewise. + + * gst/cdxaparse/gstcdxaparse.c: (gst_bytestream_peek_bytes): + Likewise. + + * gst/asfdemux/gstasfdemux.c: (_read_var_length, _read_uint): + Likewise. + 2004-04-20 Thomas Vander Stichele * configure.ac: diff --git a/configure.ac b/configure.ac index 1130e9cc2d..fd895173af 100644 --- a/configure.ac +++ b/configure.ac @@ -188,7 +188,7 @@ GST_CHECK_FEATURE(GCONF, [GConf libraries], , [ ]) dnl check for gstreamer; uninstalled is selected preferentially -- see pkg-config(1) -GST_REQ=0.8.1 +GST_REQ=0.8.1.1 PKG_CHECK_MODULES(GST, gstreamer-$GST_MAJORMINOR >= $GST_REQ, HAVE_GST="yes", HAVE_GST="no") diff --git a/gst-libs/gst/riff/riff-read.c b/gst-libs/gst/riff/riff-read.c index a86ec86658..fa153e6823 100644 --- a/gst-libs/gst/riff/riff-read.c +++ b/gst-libs/gst/riff/riff-read.c @@ -24,6 +24,7 @@ #endif #include +#include #include "riff-ids.h" #include "riff-read.h" @@ -173,9 +174,9 @@ gst_riff_peek_head (GstRiffRead * riff, } /* parse tag + length (if wanted) */ - *tag = GUINT32_FROM_LE (((guint32 *) data)[0]); + *tag = GST_READ_UINT32_LE (data); if (length) - *length = GUINT32_FROM_LE (((guint32 *) data)[1]); + *length = GST_READ_UINT32_LE (((guint32 *) data) + 1); /* level */ if (level_up) @@ -302,7 +303,7 @@ gst_riff_peek_list (GstRiffRead * riff) return 0; } - return GUINT32_FROM_LE (((guint32 *) data)[2]); + return GST_READ_UINT32_LE (((guint32 *) data) + 2); } /* @@ -672,7 +673,7 @@ gst_riff_read_list (GstRiffRead * riff, guint32 * tag) return FALSE; } gst_bytestream_flush_fast (riff->bs, 4); - *tag = GUINT32_FROM_LE (*(guint32 *) data); + *tag = GST_READ_UINT32_LE (data); /* remember level */ level = g_new (GstRiffLevel, 1); @@ -868,7 +869,7 @@ gst_riff_read_header (GstRiffRead * riff, guint32 * doctype) return FALSE; } gst_bytestream_flush_fast (riff->bs, 4); - *doctype = GUINT32_FROM_LE (*(guint32 *) data); + *doctype = GST_READ_UINT32_LE (data); /* remember level */ level = g_new (GstRiffLevel, 1); diff --git a/gst/tags/gstvorbistag.c b/gst/tags/gstvorbistag.c index fb75e64631..18ce40aed9 100644 --- a/gst/tags/gstvorbistag.c +++ b/gst/tags/gstvorbistag.c @@ -24,9 +24,9 @@ #endif #include #include "gsttageditingprivate.h" +#include #include - GST_DEBUG_CATEGORY_STATIC (gst_vorbis_tag_debug); #define GST_CAT_DEFAULT gst_vorbis_tag_debug @@ -353,7 +353,7 @@ gst_tag_list_from_vorbiscomment_buffer (const GstBuffer * buffer, data += x; \ size -= x; \ if (size < 4) goto error; \ - cur_size = GUINT32_FROM_LE (*((guint32 *) data)); \ + cur_size = GST_READ_UINT32_LE (data); \ data += 4; \ size -= 4; \ if (cur_size > size) goto error; \ diff --git a/gst/typefind/gsttypefindfunctions.c b/gst/typefind/gsttypefindfunctions.c index dd9c9b64ac..447f22768b 100644 --- a/gst/typefind/gsttypefindfunctions.c +++ b/gst/typefind/gsttypefindfunctions.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -350,7 +351,7 @@ mp3_type_find (GstTypeFind * tf, gpointer unused) } if (!head_data) break; - head = GUINT32_FROM_BE (*((guint32 *) head_data)); + head = GST_READ_UINT32_BE (head_data); if (!(length = mp3_type_frame_length_from_header (head, &layer, &channels, &bitrate, &samplerate))) { GST_LOG ("%d. header at offset %" G_GUINT64_FORMAT @@ -498,7 +499,7 @@ mpeg1_parse_header (GstTypeFind * tf, guint64 offset) GST_LOG ("couldn't get MPEG pack header bytes"); return 1; } - size = GUINT16_FROM_BE (*(guint16 *) data) + 6; + size = GST_READ_UINT16_BE (data) + 6; offset += 2; data = gst_type_find_peek (tf, offset, size - 6); if (!data) { @@ -524,7 +525,7 @@ mpeg1_parse_header (GstTypeFind * tf, guint64 offset) GST_LOG ("couldn't get MPEG pack header bytes"); return 1; } - size = GUINT16_FROM_BE (*(guint16 *) data) + 6; + size = GST_READ_UINT16_BE (data) + 6; /* FIXME: we could check PTS/DTS marker bits here... (bit overkill) */ break; } @@ -729,7 +730,7 @@ qt_type_find (GstTypeFind * tf, gpointer unused) tip = GST_TYPE_FIND_MAXIMUM; break; } - offset += GUINT32_FROM_BE (*((guint32 *) data)); + offset += GST_READ_UINT32_BE (data); } if (tip > 0) { gst_type_find_suggest (tf, tip, QT_CAPS); @@ -1168,17 +1169,17 @@ speex_type_find (GstTypeFind * tf, gpointer private) data += 32; /* 4 byte header size >= 80 */ - if (GINT32_FROM_LE (*((gint32 *) data)) < 80) + if (GST_READ_UINT32_LE (data) < 80) return; data += 4; /* 4 byte sample rate <= 48000 */ - if (GINT32_FROM_LE (*((gint32 *) data)) > 48000) + if (GST_READ_UINT32_LE (data) > 48000) return; data += 4; /* currently there are only 3 speex modes. */ - if (GINT32_FROM_LE (*((gint32 *) data)) > 3) + if (GST_READ_UINT32_LE (data) > 3) return; data += 12;