summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--gst-libs/gst/riff/riff-media.c4
-rw-r--r--gst-libs/gst/riff/riff-read.c3
3 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 91555503..b6e0567b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-01-25 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+
+ * gst-libs/gst/riff/riff-media.c:
+ (gst_riff_create_video_caps_with_data):
+ Add extradata to huffyuv (fixes #165013).
+ * gst-libs/gst/riff/riff-read.c:
+ (gst_riff_read_strf_vids_with_data):
+ Fix extradata extraction if it is in the chunk size.
+
2005-01-25 Edward Hervey <bilboed@bilboed.com>
Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
diff --git a/gst-libs/gst/riff/riff-media.c b/gst-libs/gst/riff/riff-media.c
index 4a1807d0..b93ff869 100644
--- a/gst-libs/gst/riff/riff-media.c
+++ b/gst-libs/gst/riff/riff-media.c
@@ -94,6 +94,10 @@ gst_riff_create_video_caps_with_data (guint32 codec_fcc,
case GST_MAKE_FOURCC ('H', 'F', 'Y', 'U'):
caps = gst_caps_new_simple ("video/x-huffyuv", NULL);
+ if (strf) {
+ gst_caps_set_simple (caps, "bpp",
+ G_TYPE_INT, (int) strf->bit_cnt, NULL);
+ }
if (codec_name)
*codec_name = g_strdup ("Huffman Lossless Codec");
break;
diff --git a/gst-libs/gst/riff/riff-read.c b/gst-libs/gst/riff/riff-read.c
index fbbbae26..21cdbbca 100644
--- a/gst-libs/gst/riff/riff-read.c
+++ b/gst-libs/gst/riff/riff-read.c
@@ -600,6 +600,9 @@ gst_riff_read_strf_vids_with_data (GstRiffRead * riff,
if (len > 0) {
*extradata = gst_buffer_create_sub (buf, strf->size, len);
}
+ } else if (strf->size > sizeof (gst_riff_strf_vids)) {
+ *extradata = gst_buffer_create_sub (buf,
+ sizeof (gst_riff_strf_vids), strf->size - sizeof (gst_riff_strf_vids));
}
/* debug */