summaryrefslogtreecommitdiffstats
path: root/gst/avi
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2003-02-04 21:21:38 +0000
committerWim Taymans <wim.taymans@gmail.com>2003-02-04 21:21:38 +0000
commitd3ebdad0b1c11f5429955ec06c08e9687b2865fe (patch)
tree3c88675bc39c6486247203f6a5390293899b0b5a /gst/avi
parent2fe0c7b83e38e226db7030ae31cace107e079d11 (diff)
Bigendian fixes
Original commit message from CVS: Bigendian fixes
Diffstat (limited to 'gst/avi')
-rw-r--r--gst/avi/gstavidemux.c32
1 files changed, 20 insertions, 12 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 75252a32..d768f14c 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -918,8 +918,10 @@ gst_avi_demux_strf_iavs (GstAviDemux *avi_demux)
static void
gst_avi_debug_entry (const gchar *prefix, gst_avi_index_entry *entry)
{
- GST_DEBUG (0, "%s: %05d %d %08llx %05d %14" G_GINT64_FORMAT " %08x %08x (%d) %08x", prefix, entry->index_nr, entry->stream_nr,
- (unsigned long long)entry->bytes_before, entry->frames_before, entry->ts, entry->flags, entry->offset,
+ GST_DEBUG (0, "%s: %05d %d %08llx %05d %14" G_GINT64_FORMAT " %08x %08x (%d) %08x",
+ prefix, entry->index_nr, entry->stream_nr,
+ (unsigned long long)entry->bytes_before,
+ entry->frames_before, entry->ts, entry->flags, entry->offset,
entry->offset, entry->size);
}
@@ -986,8 +988,10 @@ gst_avi_demux_parse_index (GstAviDemux *avi_demux,
gint stream_nr;
gst_avi_index_entry *target = &avi_demux->index_entries[i];
GstFormat format;
+ guint32 id;
- stream_nr = CHUNKID_TO_STREAMNR (entry[i].id);
+ id = GUINT32_FROM_LE (entry[i].id);
+ stream_nr = CHUNKID_TO_STREAMNR (id);
if (stream_nr > avi_demux->num_streams || stream_nr < 0) {
avi_demux->index_entries[i].stream_nr = -1;
continue;
@@ -997,9 +1001,9 @@ gst_avi_demux_parse_index (GstAviDemux *avi_demux,
stream = &avi_demux->stream[stream_nr];
target->index_nr = i;
- target->flags = entry[i].flags;
- target->size = entry[i].size;
- target->offset = entry[i].offset;
+ target->flags = GUINT32_FROM_LE (entry[i].flags);
+ target->size = GUINT32_FROM_LE (entry[i].size);
+ target->offset = GUINT32_FROM_LE (entry[i].offset);
/* figure out if the index is 0 based or relative to the MOVI start */
if (i == 0) {
@@ -1424,10 +1428,12 @@ gst_avi_demux_handle_sink_event (GstAviDemux *avi_demux)
avi_stream_context *stream = &avi_demux->stream[i];
if (GST_PAD_IS_USABLE (stream->pad)) {
- GST_DEBUG (GST_CAT_EVENT, "sending discont on %d %" G_GINT64_FORMAT " + %" G_GINT64_FORMAT " = %" G_GINT64_FORMAT, i,
- avi_demux->last_seek, stream->delay, avi_demux->last_seek + stream->delay);
+ GST_DEBUG (GST_CAT_EVENT, "sending discont on %d %" G_GINT64_FORMAT " + %" G_GINT64_FORMAT " = %" G_GINT64_FORMAT,
+ i, avi_demux->last_seek, stream->delay, avi_demux->last_seek + stream->delay);
+
discont = gst_event_new_discontinuous (FALSE, GST_FORMAT_TIME,
avi_demux->last_seek + stream->delay , NULL);
+
gst_pad_push (stream->pad, GST_BUFFER (discont));
}
}
@@ -1634,8 +1640,9 @@ gst_avi_demux_loop (GstElement *element)
if (GST_PAD_IS_USABLE (stream->pad)) {
if (next_ts >= stream->end_pos) {
gst_pad_push (stream->pad, GST_BUFFER (gst_event_new (GST_EVENT_EOS)));
- GST_DEBUG (0, "end stream %d: %" G_GINT64_FORMAT " %d %" G_GINT64_FORMAT, stream_id, next_ts, stream->current_frame - 1,
- stream->end_pos);
+ GST_DEBUG (0, "end stream %d: %" G_GINT64_FORMAT " %d %" G_GINT64_FORMAT,
+ stream_id, next_ts, stream->current_frame - 1,
+ stream->end_pos);
}
else {
GstBuffer *buf;
@@ -1650,8 +1657,9 @@ gst_avi_demux_loop (GstElement *element)
/* FIXME, do some flush event here */
stream->need_flush = FALSE;
}
- GST_DEBUG (0, "send stream %d: %" G_GINT64_FORMAT " %d %" G_GINT64_FORMAT " %08x", stream_id, next_ts, stream->current_frame - 1,
- stream->delay, chunk.size);
+ GST_DEBUG (0, "send stream %d: %" G_GINT64_FORMAT " %d %" G_GINT64_FORMAT " %08x",
+ stream_id, next_ts, stream->current_frame - 1,
+ stream->delay, chunk.size);
gst_pad_push(stream->pad, buf);
}