+2004-04-20 Daniel Gazard <daniel.gazard@epita.fr>
+
+ 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 <thomas at apestaart dot org>
* configure.ac:
])
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")
#endif
#include "qtdemux.h"
+#include <stdlib.h>
#include <string.h>
#include <zlib.h>
GST_DEBUG_CATEGORY_EXTERN (qtdemux_debug);
#define GST_CAT_DEFAULT qtdemux_debug
-#define QTDEMUX_GUINT32_GET(a) GUINT32_FROM_BE(*(guint32 *)(a))
-#define QTDEMUX_GUINT16_GET(a) GUINT16_FROM_BE(*(guint16 *)(a))
+#define QTDEMUX_GUINT32_GET(a) (GST_READ_UINT32_BE(a))
+#define QTDEMUX_GUINT16_GET(a) (GST_READ_UINT16_BE(a))
#define QTDEMUX_GUINT8_GET(a) (*(guint8 *)(a))
-#define QTDEMUX_FP32_GET(a) (GUINT32_FROM_BE(*(guint16 *)(a))/65536.0)
-#define QTDEMUX_FP16_GET(a) (GUINT16_FROM_BE(*(guint16 *)(a))/256.0)
-#define QTDEMUX_FOURCC_GET(a) GUINT32_FROM_LE(*(guint32 *)(a))
+#define QTDEMUX_FP32_GET(a) ((GST_READ_UINT32_BE(a))/65536.0)
+#define QTDEMUX_FP16_GET(a) ((GST_READ_UINT16_BE(a))/256.0)
+#define QTDEMUX_FOURCC_GET(a) (GST_READ_UINT32_LE(a))
#define QTDEMUX_GUINT64_GET(a) ((((guint64)QTDEMUX_GUINT32_GET(a))<<32)|QTDEMUX_GUINT32_GET(((void *)a)+4))
}
} while (1);
- length = GUINT32_FROM_BE (*(guint32 *) data);
+ length = GST_READ_UINT32_BE (data);
GST_DEBUG ("length %08x", length);
- fourcc = GUINT32_FROM_LE (*(guint32 *) (data + 4));
+ fourcc = GST_READ_UINT32_LE (data + 4);
GST_DEBUG ("fourcc " GST_FOURCC_FORMAT, GST_FOURCC_ARGS (fourcc));
if (length == 0) {
if (length == 1) {
guint32 length1, length2;
- length1 = GUINT32_FROM_BE (*(guint32 *) (data + 8));
+ length1 = GST_READ_UINT32_BE (data + 8);
GST_DEBUG ("length1 %08x", length1);
- length2 = GUINT32_FROM_BE (*(guint32 *) (data + 12));
+ length2 = GST_READ_UINT32_BE (data + 12);
GST_DEBUG ("length2 %08x", length2);
length = length2;
QtNodeType *type;
int depth;
- node_length = GUINT32_FROM_BE (*(guint32 *) buffer);
- fourcc = GUINT32_FROM_LE (*(guint32 *) (buffer + 4));
+ node_length = GST_READ_UINT32_BE (buffer);
+ fourcc = GST_READ_UINT32_LE (buffer + 4);
type = qtdemux_type_get (fourcc);
child = g_node_next_sibling (child)) {
buffer = child->data;
- child_fourcc = GUINT32_FROM_LE (*(guint32 *) (buffer + 4));
+ child_fourcc = GST_READ_UINT32_LE (buffer + 4);
if (child_fourcc == fourcc) {
return child;
child = g_node_next_sibling (child)) {
buffer = child->data;
- child_fourcc = GUINT32_FROM_LE (*(guint32 *) (buffer + 4));
+ child_fourcc = GST_READ_UINT32_LE (buffer + 4);
if (child_fourcc == fourcc) {
return child;