Commit 503ab7bf authored by Wim Taymans's avatar Wim Taymans

ext/ffmpeg/gstffmpegcodecmap.c: Add Real Video 3.0 and remove some bogus caps.

Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_get_codecid_longname):
Add Real Video 3.0 and remove some bogus caps.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_video_frame):
When skipping because of QoS, pretend we consumed all bytes for the
frame so that the pcache's timestamp is updated correctly.
parent f616f4aa
2007-10-01 Wim Taymans <wim.taymans@gmail.com>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_get_codecid_longname):
Add Real Video 3.0 and remove some bogus caps.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(gst_ffmpegdec_video_frame):
When skipping because of QoS, pretend we consumed all bytes for the
frame so that the pcache's timestamp is updated correctly.
2007-08-14 Edward Hervey <edward@fluendo.com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
......
common @ 34d7d649
Subproject commit b3fe2a25c1cd0f4b021795d0db7330aeb338da7c
Subproject commit 34d7d649b972ea4915611a6ed88f01613bf32777
......@@ -252,6 +252,7 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
case CODEC_ID_RV10:
case CODEC_ID_RV20:
case CODEC_ID_RV30:
case CODEC_ID_RV40:
{
gint version;
......@@ -260,6 +261,9 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
case CODEC_ID_RV40:
version = 4;
break;
case CODEC_ID_RV30:
version = 3;
break;
case CODEC_ID_RV20:
version = 2;
break;
......@@ -274,7 +278,11 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
"rmversion", G_TYPE_INT, version, NULL);
if (context) {
gst_caps_set_simple (caps,
"rmsubid", GST_TYPE_FOURCC, context->sub_id, NULL);
"format", G_TYPE_INT, context->sub_id, NULL);
if (context->extradata_size >= 8) {
gst_caps_set_simple (caps,
"subformat", G_TYPE_INT, GST_READ_UINT32_BE (context->extradata), NULL);
}
}
}
break;
......@@ -1599,13 +1607,11 @@ gst_ffmpeg_caps_with_codecid (enum CodecID codec_id,
case CODEC_ID_RV10:
case CODEC_ID_RV20:
case CODEC_ID_RV30:
case CODEC_ID_RV40:
{
guint32 fourcc;
gint format;
if (gst_structure_get_fourcc (str, "rmsubid", &fourcc))
context->sub_id = fourcc;
if (gst_structure_get_int (str, "format", &format))
context->sub_id = format;
......@@ -2438,6 +2444,9 @@ gst_ffmpeg_get_codecid_longname (enum CodecID codec_id)
case CODEC_ID_RV20:
name = "Realvideo 2.0";
break;
case CODEC_ID_RV30:
name = "Realvideo 3.0";
break;
case CODEC_ID_RV40:
name = "Realvideo 4.0";
break;
......
......@@ -513,7 +513,9 @@ gst_ffmpegdec_open (GstFFMpegDec * ffmpegdec)
}
break;
case CODEC_ID_RV10:
case CODEC_ID_RV30:
case CODEC_ID_RV20:
case CODEC_ID_RV40:
ffmpegdec->is_realvideo = TRUE;
break;
default:
......@@ -1479,6 +1481,10 @@ beach:
drop_qos:
{
GST_WARNING_OBJECT (ffmpegdec, "Dropping frame because of QoS");
/* drop a frame, set discont on next buffer, pretend we decoded the complete
* buffer */
ffmpegdec->discont = TRUE;
len = size;
goto beach;
}
drop_non_keyframe:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment