From 4d69122fb05e46f43ab8a0fdd07f5fea01a9a785 Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Mon, 12 Feb 2018 08:32:01 +0100 Subject: [PATCH] av*mux: Disable gif related "hacks" This is properly handled by the previous commit now --- ext/libav/gstavdemux.c | 15 ++++----------- ext/libav/gstavmux.c | 33 +++------------------------------ 2 files changed, 7 insertions(+), 41 deletions(-) diff --git a/ext/libav/gstavdemux.c b/ext/libav/gstavdemux.c index e3ff491..6495703 100644 --- a/ext/libav/gstavdemux.c +++ b/ext/libav/gstavdemux.c @@ -1488,17 +1488,10 @@ gst_ffmpegdemux_loop (GstFFMpegDemux * demux) ((GstFFMpegDemuxClass *) (G_OBJECT_GET_CLASS (demux)))->in_plugin->name; GstMapInfo map; - if (strcmp (plugin_name, "gif") == 0) { - src.data[0] = pkt.data; - src.data[1] = NULL; - src.data[2] = NULL; - src.linesize[0] = avstream->codec->width * 3; - } else { - GST_WARNING ("Unknown demuxer %s, no idea what to do", plugin_name); - gst_ffmpeg_avpicture_fill (&src, pkt.data, - avstream->codec->pix_fmt, avstream->codec->width, - avstream->codec->height); - } + GST_WARNING ("Unknown demuxer %s, no idea what to do", plugin_name); + gst_ffmpeg_avpicture_fill (&src, pkt.data, + avstream->codec->pix_fmt, avstream->codec->width, + avstream->codec->height); gst_buffer_map (outbuf, &map, GST_MAP_WRITE); gst_ffmpeg_avpicture_fill (&dst, map.data, diff --git a/ext/libav/gstavmux.c b/ext/libav/gstavmux.c index 54a6c1d..907424b 100644 --- a/ext/libav/gstavmux.c +++ b/ext/libav/gstavmux.c @@ -259,11 +259,6 @@ gst_ffmpegmux_base_init (gpointer g_class) gst_caps_set_simple (audiosinkcaps, "rate", G_TYPE_INT, 48000, "channels", G_TYPE_INT, 2, NULL); - } else if (strcmp (in_plugin->name, "gif") == 0) { - if (videosinkcaps) - gst_caps_unref (videosinkcaps); - - videosinkcaps = gst_caps_from_string ("video/x-raw, format=(string)RGB"); } /* pad templates */ @@ -745,31 +740,9 @@ gst_ffmpegmux_collected (GstCollectPads * pads, gpointer user_data) ffmpegmux->context->streams[best_pad->padnum]->time_base); pkt.dts = pkt.pts; - if (strcmp (ffmpegmux->context->oformat->name, "gif") == 0) { - AVStream *st = ffmpegmux->context->streams[best_pad->padnum]; - AVPicture src, dst; - - need_free = TRUE; - pkt.size = st->codec->width * st->codec->height * 3; - pkt.data = g_malloc (pkt.size); - - dst.data[0] = pkt.data; - dst.data[1] = NULL; - dst.data[2] = NULL; - dst.linesize[0] = st->codec->width * 3; - - gst_buffer_map (buf, &map, GST_MAP_READ); - gst_ffmpeg_avpicture_fill (&src, map.data, - AV_PIX_FMT_RGB24, st->codec->width, st->codec->height); - - av_picture_copy (&dst, &src, AV_PIX_FMT_RGB24, - st->codec->width, st->codec->height); - gst_buffer_unmap (buf, &map); - } else { - gst_buffer_map (buf, &map, GST_MAP_READ); - pkt.data = map.data; - pkt.size = map.size; - } + gst_buffer_map (buf, &map, GST_MAP_READ); + pkt.data = map.data; + pkt.size = map.size; pkt.stream_index = best_pad->padnum; pkt.flags = 0; -- 2.7.4