Remove old ffmpeg 4.4 + Credit Andrew bsfc crash fix
[goodguy/cinelerra.git] / cinelerra-5.1 / thirdparty / src / ffmpeg-4.4.patch3
diff --git a/cinelerra-5.1/thirdparty/src/ffmpeg-4.4.patch3 b/cinelerra-5.1/thirdparty/src/ffmpeg-4.4.patch3
deleted file mode 100644 (file)
index 28d3876..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-diff --git a/libavformat/avformat.h b/libavformat/avformat.h
-index e91e7f1d33..0f9b26a6d3 100644
---- a/libavformat/avformat.h
-+++ b/libavformat/avformat.h
-@@ -480,6 +480,9 @@ typedef struct AVProbeData {
-                                         The user or muxer can override this through
-                                         AVFormatContext.avoid_negative_ts
-                                         */
-+#define AVFMT_SEEK_NOSTREAMS  0x80000 /**< Stream index ignored by seek,
-+                                           or some streams fail to seek
-+                                           */
- #define AVFMT_SEEK_TO_PTS   0x4000000 /**< Seeking is based on PTS */
-@@ -650,7 +653,8 @@ typedef struct AVInputFormat {
-     /**
-      * Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS,
-      * AVFMT_NOTIMESTAMPS, AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH,
--     * AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS.
-+     * AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS,
-+     * AVFMT_SEEK_NOSTREAMS
-      */
-     int flags;
-diff --git a/libavformat/dv.c b/libavformat/dv.c
-index e99422d4b5..58ce1bbb5f 100644
---- a/libavformat/dv.c
-+++ b/libavformat/dv.c
-@@ -642,6 +642,7 @@ static int dv_probe(const AVProbeData *p)
- AVInputFormat ff_dv_demuxer = {
-     .name           = "dv",
-     .long_name      = NULL_IF_CONFIG_SMALL("DV (Digital Video)"),
-+    .flags          = AVFMT_SEEK_NOSTREAMS,
-     .priv_data_size = sizeof(RawDVContext),
-     .read_probe     = dv_probe,
-     .read_header    = dv_read_header,
-diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
-index cff7f0cb54..8b6d22aff2 100644
---- a/libavformat/matroskadec.c
-+++ b/libavformat/matroskadec.c
-@@ -4251,6 +4251,7 @@ static const AVClass webm_dash_class = {
- AVInputFormat ff_matroska_demuxer = {
-     .name           = "matroska,webm",
-     .long_name      = NULL_IF_CONFIG_SMALL("Matroska / WebM"),
-+    .flags          = AVFMT_SEEK_NOSTREAMS,
-     .extensions     = "mkv,mk3d,mka,mks,webm",
-     .priv_data_size = sizeof(MatroskaDemuxContext),
-     .read_probe     = matroska_probe,
-@@ -4264,6 +4265,7 @@ AVInputFormat ff_matroska_demuxer = {
- AVInputFormat ff_webm_dash_manifest_demuxer = {
-     .name           = "webm_dash_manifest",
-     .long_name      = NULL_IF_CONFIG_SMALL("WebM DASH Manifest"),
-+    .flags          = AVFMT_SEEK_NOSTREAMS,
-     .priv_data_size = sizeof(MatroskaDemuxContext),
-     .read_header    = webm_dash_manifest_read_header,
-     .read_packet    = webm_dash_manifest_read_packet,
-diff --git a/libavformat/utils.c b/libavformat/utils.c
-index 807d9f10cb..55a444e7b6 100644
---- a/libavformat/utils.c
-+++ b/libavformat/utils.c
-@@ -2486,6 +2486,13 @@ static int seek_frame_internal(AVFormatContext *s, int stream_index,
-         return seek_frame_byte(s, stream_index, timestamp, flags);
-     }
-+    if (stream_index != -1 && (s->iformat->flags & AVFMT_SEEK_NOSTREAMS)) {
-+            timestamp = av_rescale_q(timestamp,
-+                    s->streams[stream_index]->time_base,
-+                    AV_TIME_BASE_Q);
-+            stream_index = -1;
-+    }
-+
-     if (stream_index < 0) {
-         stream_index = av_find_default_stream_index(s);
-         if (stream_index < 0)