summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2012-03-22 15:31:40 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2012-03-22 15:31:40 +0100
commitb0cc0cf55df435f40d66f740b4ffdf83249f8647 (patch)
treeedcb22b522a4b5aceeec100393db5840da4a9cf2
parentd155f3028d6b76273e8a9b3e8ba4065001222f65 (diff)
parentd417f99cd7d4b2b8de61bbe552ab14e69c436b77 (diff)
Merge branch 'master' into 0.11
Conflicts: gst-libs/ext/libav
-rw-r--r--ext/ffmpeg/gstffmpegcodecmap.c8
-rw-r--r--ext/ffmpeg/gstffmpegdec.c11
-rw-r--r--ext/ffmpeg/gstffmpegmux.c2
m---------gst-libs/ext/libav0
4 files changed, 17 insertions, 4 deletions
diff --git a/ext/ffmpeg/gstffmpegcodecmap.c b/ext/ffmpeg/gstffmpegcodecmap.c
index bfb2796..253569e 100644
--- a/ext/ffmpeg/gstffmpegcodecmap.c
+++ b/ext/ffmpeg/gstffmpegcodecmap.c
@@ -899,6 +899,11 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
"indeoversion", G_TYPE_INT, 5, NULL);
break;
+ case CODEC_ID_INDEO4:
+ caps = gst_ff_vid_caps_new (context, codec_id, "video/x-indeo",
+ "indeoversion", G_TYPE_INT, 4, NULL);
+ break;
+
case CODEC_ID_INDEO3:
caps = gst_ff_vid_caps_new (context, codec_id, "video/x-indeo",
"indeoversion", G_TYPE_INT, 3, NULL);
@@ -3020,6 +3025,9 @@ gst_ffmpeg_caps_to_codecid (const GstCaps * caps, AVCodecContext * context)
case 5:
id = CODEC_ID_INDEO5;
break;
+ case 4:
+ id = CODEC_ID_INDEO4;
+ break;
case 3:
id = CODEC_ID_INDEO3;
break;
diff --git a/ext/ffmpeg/gstffmpegdec.c b/ext/ffmpeg/gstffmpegdec.c
index e84e81a..330911a 100644
--- a/ext/ffmpeg/gstffmpegdec.c
+++ b/ext/ffmpeg/gstffmpegdec.c
@@ -838,11 +838,16 @@ gst_ffmpegdec_setcaps (GstFFMpegDec * ffmpegdec, GstCaps * caps)
* supports it) */
ffmpegdec->context->debug_mv = ffmpegdec->debug_mv;
- if (ffmpegdec->max_threads == 0)
- ffmpegdec->context->thread_count = gst_ffmpeg_auto_max_threads ();
- else
+ if (ffmpegdec->max_threads == 0) {
+ if (!(oclass->in_plugin->capabilities & CODEC_CAP_AUTO_THREADS))
+ ffmpegdec->context->thread_count = gst_ffmpeg_auto_max_threads ();
+ else
+ ffmpegdec->context->thread_count = 0;
+ } else
ffmpegdec->context->thread_count = ffmpegdec->max_threads;
+ ffmpegdec->context->thread_type = FF_THREAD_SLICE;
+
/* open codec - we don't select an output pix_fmt yet,
* simply because we don't know! We only get it
* during playback... */
diff --git a/ext/ffmpeg/gstffmpegmux.c b/ext/ffmpeg/gstffmpegmux.c
index 6b82759..773f1c1 100644
--- a/ext/ffmpeg/gstffmpegmux.c
+++ b/ext/ffmpeg/gstffmpegmux.c
@@ -795,7 +795,7 @@ gst_ffmpegmux_collected (GstCollectPads2 * pads, gpointer user_data)
static GstStateChangeReturn
gst_ffmpegmux_change_state (GstElement * element, GstStateChange transition)
{
- GstFlowReturn ret;
+ GstStateChangeReturn ret;
GstFFMpegMux *ffmpegmux = (GstFFMpegMux *) (element);
switch (transition) {
diff --git a/gst-libs/ext/libav b/gst-libs/ext/libav
-Subproject 85afbb1d00d58812df5d634e946b2fcf653bcd8
+Subproject 4b63cc18bc44517f0f9e04b39ab873cbc3c6aee