Update to 1.22.1

i9-beta changed/i9-beta/gstreamer1-libav-1.22.1-1.el9
Arkady L. Shane 1 year ago
parent a58091d57e
commit 3dabf46903
Signed by: tigro
GPG Key ID: 9C7900103E1C4F8B

2
.gitignore vendored

@ -1 +1 @@
SOURCES/gst-libav-1.18.4.tar.xz
SOURCES/gst-libav-1.22.1.tar.xz

@ -1 +1 @@
3a0968181ad3deb82d2667174b013533ac2b4ea7 SOURCES/gst-libav-1.18.4.tar.xz
bfe4c11bda19073b325babb721201b7b26ee3ae2 SOURCES/gst-libav-1.22.1.tar.xz

@ -1,9 +0,0 @@
diff -U0 gst-ffmpeg-0.10.12/ChangeLog~ gst-ffmpeg-0.10.12/ChangeLog
--- gst-ffmpeg-0.10.12/ChangeLog~ 2011-07-20 12:09:57.000000000 +0200
+++ gst-ffmpeg-0.10.12/ChangeLog 2011-09-04 10:20:50.064262797 +0200
@@ -4277 +4277 @@
-2007-11-08 14:44:36 +0000 Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
+2007-11-08 14:44:36 +0000 Ole André Vadla Ravnås <ole.andre.ravnas@tandberg.com>
@@ -4281 +4281 @@
- Patch by: Ole André Vadla Ravnås <ole dot andre dot ravnas at tandberg dot com>
+ Patch by: Ole André Vadla Ravnås <ole dot andre dot ravnas at tandberg dot com>

@ -1,223 +0,0 @@
--- gst-libav-1.18.2.old/ext/libav/gstavdemux.c 2021-02-26 16:47:35.842537392 -0800
+++ gst-libav-1.18.2.new/ext/libav/gstavdemux.c 2021-02-26 16:47:55.137537967 -0800
@@ -41,6 +41,211 @@
typedef struct _GstFFMpegDemux GstFFMpegDemux;
typedef struct _GstFFStream GstFFStream;
+typedef struct FFFrac {
+ int64_t val, num, den;
+} FFFrac;
+
+struct AVStreamInternal {
+ /**
+ * Set to 1 if the codec allows reordering, so pts can be different
+ * from dts.
+ */
+ int reorder;
+
+ /**
+ * bitstream filter to run on stream
+ * - encoding: Set by muxer using ff_stream_add_bitstream_filter
+ * - decoding: unused
+ */
+ AVBSFContext *bsfc;
+
+ /**
+ * Whether or not check_bitstream should still be run on each packet
+ */
+ int bitstream_checked;
+
+ /**
+ * The codec context used by avformat_find_stream_info, the parser, etc.
+ */
+ AVCodecContext *avctx;
+ /**
+ * 1 if avctx has been initialized with the values from the codec parameters
+ */
+ int avctx_inited;
+
+ enum AVCodecID orig_codec_id;
+
+ /* the context for extracting extradata in find_stream_info()
+ * inited=1/bsf=NULL signals that extracting is not possible (codec not
+ * supported) */
+ struct {
+ AVBSFContext *bsf;
+ AVPacket *pkt;
+ int inited;
+ } extract_extradata;
+
+ /**
+ * Whether the internal avctx needs to be updated from codecpar (after a late change to codecpar)
+ */
+ int need_context_update;
+
+ int is_intra_only;
+
+ FFFrac *priv_pts;
+
+#define MAX_STD_TIMEBASES (30*12+30+3+6)
+ /**
+ * Stream information used internally by avformat_find_stream_info()
+ */
+ struct {
+ int64_t last_dts;
+ int64_t duration_gcd;
+ int duration_count;
+ int64_t rfps_duration_sum;
+ double (*duration_error)[2][MAX_STD_TIMEBASES];
+ int64_t codec_info_duration;
+ int64_t codec_info_duration_fields;
+ int frame_delay_evidence;
+
+ /**
+ * 0 -> decoder has not been searched for yet.
+ * >0 -> decoder found
+ * <0 -> decoder with codec_id == -found_decoder has not been found
+ */
+ int found_decoder;
+
+ int64_t last_duration;
+
+ /**
+ * Those are used for average framerate estimation.
+ */
+ int64_t fps_first_dts;
+ int fps_first_dts_idx;
+ int64_t fps_last_dts;
+ int fps_last_dts_idx;
+
+ } *info;
+
+ AVIndexEntry *index_entries; /**< Only used if the format does not
+ support seeking natively. */
+ int nb_index_entries;
+ unsigned int index_entries_allocated_size;
+
+ int64_t interleaver_chunk_size;
+ int64_t interleaver_chunk_duration;
+
+ /**
+ * stream probing state
+ * -1 -> probing finished
+ * 0 -> no probing requested
+ * rest -> perform probing with request_probe being the minimum score to accept.
+ */
+ int request_probe;
+ /**
+ * Indicates that everything up to the next keyframe
+ * should be discarded.
+ */
+ int skip_to_keyframe;
+
+ /**
+ * Number of samples to skip at the start of the frame decoded from the next packet.
+ */
+ int skip_samples;
+
+ /**
+ * If not 0, the number of samples that should be skipped from the start of
+ * the stream (the samples are removed from packets with pts==0, which also
+ * assumes negative timestamps do not happen).
+ * Intended for use with formats such as mp3 with ad-hoc gapless audio
+ * support.
+ */
+ int64_t start_skip_samples;
+
+ /**
+ * If not 0, the first audio sample that should be discarded from the stream.
+ * This is broken by design (needs global sample count), but can't be
+ * avoided for broken by design formats such as mp3 with ad-hoc gapless
+ * audio support.
+ */
+ int64_t first_discard_sample;
+
+ /**
+ * The sample after last sample that is intended to be discarded after
+ * first_discard_sample. Works on frame boundaries only. Used to prevent
+ * early EOF if the gapless info is broken (considered concatenated mp3s).
+ */
+ int64_t last_discard_sample;
+
+ /**
+ * Number of internally decoded frames, used internally in libavformat, do not access
+ * its lifetime differs from info which is why it is not in that structure.
+ */
+ int nb_decoded_frames;
+
+ /**
+ * Timestamp offset added to timestamps before muxing
+ */
+ int64_t mux_ts_offset;
+
+ /**
+ * Internal data to check for wrapping of the time stamp
+ */
+ int64_t pts_wrap_reference;
+
+ /**
+ * Options for behavior, when a wrap is detected.
+ *
+ * Defined by AV_PTS_WRAP_ values.
+ *
+ * If correction is enabled, there are two possibilities:
+ * If the first time stamp is near the wrap point, the wrap offset
+ * will be subtracted, which will create negative time stamps.
+ * Otherwise the offset will be added.
+ */
+ int pts_wrap_behavior;
+
+ /**
+ * Internal data to prevent doing update_initial_durations() twice
+ */
+ int update_initial_durations_done;
+
+#define MAX_REORDER_DELAY 16
+
+ /**
+ * Internal data to generate dts from pts
+ */
+ int64_t pts_reorder_error[MAX_REORDER_DELAY+1];
+ uint8_t pts_reorder_error_count[MAX_REORDER_DELAY+1];
+
+ int64_t pts_buffer[MAX_REORDER_DELAY+1];
+
+ /**
+ * Internal data to analyze DTS and detect faulty mpeg streams
+ */
+ int64_t last_dts_for_order_check;
+ uint8_t dts_ordered;
+ uint8_t dts_misordered;
+
+ /**
+ * Internal data to inject global side data
+ */
+ int inject_global_side_data;
+
+ /**
+ * display aspect ratio (0 if unknown)
+ * - encoding: unused
+ * - decoding: Set by libavformat to calculate sample_aspect_ratio internally
+ */
+ AVRational display_aspect_ratio;
+
+ AVProbeData probe_data;
+
+ /**
+ * last packet in packet_buffer for this stream when muxing.
+ */
+ struct AVPacketList *last_in_packet_buffer;
+};
+
struct _GstFFStream
{
GstPad *pad;
@@ -483,7 +688,7 @@ gst_ffmpegdemux_do_seek (GstFFMpegDemux
GST_LOG_OBJECT (demux, "keyframeidx: %d", keyframeidx);
if (keyframeidx >= 0) {
- fftarget = stream->index_entries[keyframeidx].timestamp;
+ fftarget = stream->internal->index_entries[keyframeidx].timestamp;
target = gst_ffmpeg_time_ff_to_gst (fftarget, stream->time_base);
GST_LOG_OBJECT (demux,

@ -1,11 +1,10 @@
Name: gstreamer1-libav
Version: 1.18.4
Release: 2%{?dist}
Summary: GStreamer 1.0 libav-based plug-ins
Version: 1.22.1
Release: 1%{?dist}
Summary: GStreamer FFmpeg/LibAV plugin
License: LGPLv2+
URL: https://gstreamer.freedesktop.org/
Source0: %{url}/src/gst-libav/gst-libav-%{version}.tar.xz
Patch0: https://gitlab.freedesktop.org/gstreamer/gst-libav/uploads/1340cbe52e8384f4aa92b147b804f64f/gstreamer1-libav-ffmpeg44-fix.patch
BuildRequires: gcc-c++
BuildRequires: meson
@ -14,7 +13,7 @@ BuildRequires: gstreamer1-plugins-base-devel >= %{version}
BuildRequires: orc-devel
BuildRequires: bzip2-devel
BuildRequires: zlib-devel
BuildRequires: compat-ffmpeg4-devel
BuildRequires: ffmpeg-devel
%description
GStreamer is a streaming media framework, based on graphs of filters which
@ -24,7 +23,7 @@ else media-related. Its plugin-based architecture means that new data
types or processing capabilities can be added simply by installing new
plugins.
This package provides libav-based GStreamer plug-ins.
This package provides FFmpeg/LibAV GStreamer plugin.
%if 0
# gstreamer1 uses hotdoc which isn't provided yet
@ -37,20 +36,18 @@ BuildArch: noarch
GStreamer is a streaming media framework, based on graphs of elements which
operate on media data.
This package contains the development documentation for the libav GStreamer
plug-in.
This package contains the development documentation for the FFmpeg/LibAV GStreamer
plugin.
%endif
%prep
%autosetup -p1 -n gst-libav-%{version}
%build
export PKG_CONFIG_PATH="%{_libdir}/compat-ffmpeg4/pkgconfig"
%meson \
-D package-name='gst-libav 1.0 rpmfusion rpm' \
-D package-origin='http://rpmfusion.org/' \
-D package-name="MSVSphere GStreamer-libav package" \
-D package-origin="http://msvsphere-os.ru" \
-D doc=disabled
%meson_build
@ -66,16 +63,78 @@ export PKG_CONFIG_PATH="%{_libdir}/compat-ffmpeg4/pkgconfig"
%if 0
%files devel-docs
# Take the dir and everything below it for proper dir ownership
%doc %{_datadir}/gtk-doc
%doc %{_datadir}/gtk-doc/gst-libav-1.0/
%endif
%changelog
* Tue Jul 18 2023 Arkady L. Shane <ashejn@msvsphere.ru> - 1.18.4-2
* Mon Oct 23 2023 Arkady L. Shane <tigro@msvsphere-os.ru> - 1.22.5-1
- Rebuilt for MSVSphere 9.2
- Debranding
* Mon Mar 13 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.1-1
- Update to 1.22.1
* Sun Mar 12 2023 Neal Gompa <ngompa@fedoraproject.org> - 1.22.0-2
- Patch and rebuild for ffmpeg 6.0
* Tue Jan 24 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.0-1
- Update to 1.22.0
* Fri Jan 20 2023 Wim Taymans <wtaymans@redhat.com> - 1.21.90-1
- Update to 1.21.90
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jan 11 2023 Neal Gompa <ngompa@fedoraproject.org> - 1.20.5-1
- Update to 1.20.5
* Mon Nov 21 2022 Neal Gompa <ngompa@fedoraproject.org> - 1.20.4-1
- Update to 1.20.4
* Fri Sep 09 2022 Neal Gompa <ngompa@fedoraproject.org> - 1.20.3-5
- Add arched provides for gstreamer1-libav name
* Thu Sep 08 2022 Neal Gompa <ngompa@fedoraproject.org> - 1.20.3-4
- Rename to gstreamer1-plugin-libav to migrate to Fedora
* Sun Sep 04 2022 Leigh Scott <leigh123linux@gmail.com> - 1:1.20.3-3
- Add requires ffmpeg-libs
* Sun Aug 07 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 1:1.20.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
5.1
* Fri Jul 22 2022 Vitaly Zaitsev <vitaly@easycoding.org> - 1:1.20.3-1
- Updated to version 1.20.3.
* Mon Jul 18 2022 Leigh Scott <leigh123linux@gmail.com> - 1:1.20.0-2
- Fix rfbz#6354
* Sun Feb 06 2022 Sérgio Basto <sergio@serjux.com> - 1:1.20.0-1
- Update gstreamer1-libav to 1.20.0
* Mon Nov 15 2021 Sérgio Basto <sergio@serjux.com> - 1:1.19.3-2
- Rebuilt for new ffmpeg snapshot
* Mon Nov 15 2021 Sérgio Basto <sergio@serjux.com> - 1:1.19.3-1
- Update gstreamer1-libav to 1.19.3
* Thu Nov 11 2021 Leigh Scott <leigh123linux@gmail.com> - 1:1.19.2-2
- Rebuilt for new ffmpeg snapshot
* Sat Oct 09 2021 Sérgio Basto <sergio@serjux.com> - 1:1.19.2-1
- Update gstreamer1-libav to 1.19.2
* Mon Aug 02 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 1:1.19.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
- gstreamer1.prov is broken and hangs, workarround it
* Tue Jun 08 2021 Leigh Scott <leigh123linux@gmail.com> - 1.19.1-1
- Update
* Mon Sep 05 2022 Leigh Scott <leigh123linux@gmail.com> - 1.18.4-2
- Rebuild for ffmpeg
* Wed Mar 24 2021 Leigh Scott <leigh123linux@gmail.com> - 1.18.4-2
- Drop patch
* Wed Mar 17 2021 Leigh Scott <leigh123linux@gmail.com> - 1.18.4-1
- 1.18.4

Loading…
Cancel
Save