diff options
author | Jan Schmidt <thaytan@mad.scientist.com> | 2006-02-19 22:40:16 +0000 |
---|---|---|
committer | Jan Schmidt <thaytan@mad.scientist.com> | 2006-02-19 22:40:16 +0000 |
commit | 0a9c8cced54ca13408e617a809f33ce4c4343561 (patch) | |
tree | 65a878e067b5f6a11f5a6285d19bc70e8aaebeb7 /ext | |
parent | 1f260a84daba4b800c9f9e7cc2a8b30421caa706 (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.c | 17 |
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; |