summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2006-02-19 22:40:16 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2006-02-19 22:40:16 +0000
commit0a9c8cced54ca13408e617a809f33ce4c4343561 (patch)
tree65a878e067b5f6a11f5a6285d19bc70e8aaebeb7 /ext
parent1f260a84daba4b800c9f9e7cc2a8b30421caa706 (diff)
ext/ffmpeg/gstffmpegcodecmap.c: Add extra detail to the Real format caps. With this info, filesrc ! ffdemux_rm ! ffde...
Original commit message from CVS: * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid): Add extra detail to the Real format caps. With this info, filesrc ! ffdemux_rm ! ffdec_cook ! ... works, but using rmdemux doesn't. The order of the data the demuxers output appears to be different.
Diffstat (limited to 'ext')
-rw-r--r--ext/ffmpeg/gstffmpegcodecmap.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/ext/ffmpeg/gstffmpegcodecmap.c b/ext/ffmpeg/gstffmpegcodecmap.c
index 4e0f8cd..64c01bd 100644
--- a/ext/ffmpeg/gstffmpegcodecmap.c
+++ b/ext/ffmpeg/gstffmpegcodecmap.c
@@ -755,6 +755,11 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
/* FIXME: properties? */
caps = GST_FF_AUD_CAPS_NEW ("audio/x-pn-realaudio",
"raversion", G_TYPE_INT, version, NULL);
+ if (context) {
+ gst_caps_set_simple (caps,
+ "leaf_size", G_TYPE_INT, context->block_align,
+ "bitrate", G_TYPE_INT, context->bit_rate, NULL);
+ }
}
break;
@@ -1410,7 +1415,17 @@ gst_ffmpeg_caps_with_codecid (enum CodecID codec_id,
context->sub_id = fourcc;
}
break;
-
+ case CODEC_ID_COOK:
+ case CODEC_ID_RA_288:
+ case CODEC_ID_RA_144:
+ {
+ gint leaf_size;
+ gint bitrate;
+ if (gst_structure_get_int (str, "leaf_size", &leaf_size))
+ context->block_align = leaf_size;
+ if (gst_structure_get_int (str, "bitrate", &bitrate))
+ context->bit_rate = bitrate;
+ }
case CODEC_ID_ALAC:
gst_structure_get_int (str, "samplesize", &context->bits_per_sample);
break;