summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2006-04-10 17:16:09 +0000
committerWim Taymans <wim.taymans@gmail.com>2006-04-10 17:16:09 +0000
commit9a29ef60ec55b54bfb5459afe1c38f01b095662e (patch)
tree631097f0143dff0a5c2c360ad615d3fcf26e5881 /gst
parent5b097ce855df239faee7bd170abd79f22263c4e3 (diff)
downloadgst-plugins-bad-9a29ef60ec55b54bfb5459afe1c38f01b095662e.tar.gz
gst-plugins-bad-9a29ef60ec55b54bfb5459afe1c38f01b095662e.tar.bz2
gst-plugins-bad-9a29ef60ec55b54bfb5459afe1c38f01b095662e.zip
gst/qtdemux/qtdemux.c: Fix parsing of newer stsd chunks again.
Original commit message from CVS: * gst/qtdemux/qtdemux.c: (qtdemux_parse_trak): Fix parsing of newer stsd chunks again.
Diffstat (limited to 'gst')
-rw-r--r--gst/qtdemux/qtdemux.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 490dd130..9321c452 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -3159,10 +3159,12 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
offset = 52;
if (version == 0x00010000) {
stream->samples_per_packet = QTDEMUX_GUINT32_GET (stsd->data + offset);
- stream->samples_per_frame = stream->n_channels;
stream->bytes_per_packet = QTDEMUX_GUINT32_GET (stsd->data + offset + 4);
stream->bytes_per_frame = QTDEMUX_GUINT32_GET (stsd->data + offset + 8);
stream->bytes_per_sample = QTDEMUX_GUINT32_GET (stsd->data + offset + 12);
+ stream->samples_per_frame = (stream->bytes_per_frame /
+ stream->bytes_per_packet) * stream->samples_per_packet;
+
GST_LOG ("samples/packet: %d", stream->samples_per_packet);
GST_LOG ("bytes/packet: %d", stream->bytes_per_packet);