Compare commits
3 Commits
Author | SHA1 | Date |
---|---|---|
Xavier Bachelot | 6d4e47a384 | 5 years ago |
Leigh Scott | 15b5d92c04 | 6 years ago |
Leigh Scott | a15c6735b5 | 6 years ago |
@ -0,0 +1,2 @@
|
||||
/gst-libav-*.tar.xz
|
||||
/gstreamer1-libav-*.src.rpm
|
@ -1 +0,0 @@
|
||||
Moved to fedora as gstreamer1-plugin-libav
|
@ -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,
|
@ -0,0 +1,260 @@
|
||||
Name: gstreamer1-libav
|
||||
Version: 1.16.1
|
||||
Release: 1%{?dist}
|
||||
Summary: GStreamer 1.0 libav-based plug-ins
|
||||
License: LGPLv2+
|
||||
URL: https://gstreamer.freedesktop.org/
|
||||
Source0: %{url}/src/gst-libav/gst-libav-%{version}.tar.xz
|
||||
|
||||
Patch0: gst-ffmpeg-0.10.12-ChangeLog-UTF-8.patch
|
||||
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gstreamer1-devel >= %{version}
|
||||
BuildRequires: gstreamer1-plugins-base-devel >= %{version}
|
||||
BuildRequires: orc-devel
|
||||
BuildRequires: bzip2-devel
|
||||
BuildRequires: zlib-devel
|
||||
BuildRequires: ffmpeg-devel
|
||||
BuildRequires: python3
|
||||
|
||||
%ifarch %{ix86} x86_64
|
||||
BuildRequires: yasm
|
||||
%endif
|
||||
|
||||
%description
|
||||
GStreamer is a streaming media framework, based on graphs of filters which
|
||||
operate on media data. Applications using this library can do anything
|
||||
from real-time sound processing to playing videos, and just about anything
|
||||
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.
|
||||
|
||||
|
||||
%package devel-docs
|
||||
Summary: Development documentation for the libav GStreamer plug-in
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
BuildArch: noarch
|
||||
|
||||
%description devel-docs
|
||||
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.
|
||||
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n gst-libav-%{version}
|
||||
|
||||
|
||||
%build
|
||||
%configure \
|
||||
--disable-silent-rules --disable-fatal-warnings \
|
||||
--disable-dependency-tracking \
|
||||
--disable-static \
|
||||
--with-package-name="gst-libav 1.0 rpmfusion rpm" \
|
||||
--with-package-origin="http://rpmfusion.org/" \
|
||||
--with-system-libav
|
||||
|
||||
%make_build V=1
|
||||
|
||||
|
||||
%install
|
||||
%make_install V=1
|
||||
|
||||
rm -fv %{buildroot}%{_libdir}/gstreamer-1.0/libgst*.la
|
||||
|
||||
|
||||
%files
|
||||
%doc AUTHORS ChangeLog NEWS README TODO
|
||||
%license COPYING.LIB
|
||||
%{_libdir}/gstreamer-1.0/libgstlibav.so
|
||||
|
||||
%files devel-docs
|
||||
# Take the dir and everything below it for proper dir ownership
|
||||
%doc %{_datadir}/gtk-doc
|
||||
|
||||
|
||||
%changelog
|
||||
* Fri May 08 2020 Xavier Bachelot <xavier@bachelot.org> - 1.16.1-1
|
||||
- Update to 1.16.1 to match EL8.2
|
||||
|
||||
* Thu Mar 22 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.0-1
|
||||
- Update to 1.14.0
|
||||
|
||||
* Sun Mar 04 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.13.1-2
|
||||
- Use bundled libav for F28 as it doesn't build with ffmpeg git
|
||||
|
||||
* Wed Feb 28 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.13.1-1
|
||||
- 1.13.1
|
||||
|
||||
* Fri Jan 19 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.12.4-3
|
||||
- Use bundled libav for F28
|
||||
|
||||
* Thu Jan 18 2018 Leigh Scott <leigh123linux@googlemail.com> - 1.12.4-2
|
||||
- Rebuilt for ffmpeg-3.5 git
|
||||
|
||||
* Mon Dec 11 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.4-1
|
||||
- Update to 1.12.4
|
||||
- Remove patch for FFMpeg 3.4 APIs (fixed in ffmpeg-3.4.1)
|
||||
|
||||
* Sat Nov 18 2017 Simone Caronni <negativo17@gmail.com> - 1.12.3-3
|
||||
- Temporary patch for FFMpeg 3.4 APIs.
|
||||
|
||||
* Mon Oct 16 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.3-2
|
||||
- Rebuild for ffmpeg update
|
||||
|
||||
* Wed Sep 20 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.3-1
|
||||
- Update to 1.12.3
|
||||
|
||||
* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 1.12.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Tue Jul 18 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.2-1
|
||||
- Update to 1.12.2
|
||||
|
||||
* Fri Jun 23 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.1-1
|
||||
- Update to 1.12.1
|
||||
|
||||
* Wed May 17 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.0-2
|
||||
- Rebuilt for f26 ffmpeg bump
|
||||
|
||||
* Fri May 12 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.12.0-1
|
||||
- Update to 1.12.0
|
||||
|
||||
* Sat Apr 29 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.11.90-2
|
||||
- Rebuild for ffmpeg update
|
||||
|
||||
* Tue Apr 18 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.11.90-1
|
||||
- Update to 1.11.90
|
||||
|
||||
* Sun Mar 19 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 1.11.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Mon Feb 27 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.11.2-1
|
||||
- Update to 1.11.2
|
||||
|
||||
* Mon Jan 16 2017 Leigh Scott <leigh123linux@googlemail.com> - 1.11.1-1
|
||||
- Update to 1.11.1
|
||||
|
||||
* Wed Nov 30 2016 leigh scott <leigh123linux@googlemail.com> - 1.10.2-1
|
||||
- Update to 1.10.2
|
||||
|
||||
* Fri Nov 11 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.10.0-2
|
||||
- Drop no longer needed ignore_vaapi.patch
|
||||
|
||||
* Fri Nov 11 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.10.0-1
|
||||
- Update to 1.10.0
|
||||
|
||||
* Fri Nov 11 2016 Leigh Scott <leigh123linux@googlemail.com> - 1.8.2-4
|
||||
- Add patch to disable ffmpeg hardware acceleration for nvenc and qsv (rfbz#4334)
|
||||
|
||||
* Fri Nov 11 2016 Leigh Scott <leigh123linux@googlemail.com> - 1.8.2-3
|
||||
- Add patch to ignore VAAPI decoders and VAAPI/nvenc encoders (rfbz#4334)
|
||||
|
||||
* Sat Jul 30 2016 Julian Sikorski <belegdol@fedoraproject.org> - 1.8.2-2
|
||||
- Rebuilt for ffmpeg-3.1.1
|
||||
|
||||
* Sun Jun 12 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.8.2-1
|
||||
- Update to 1.8.2
|
||||
|
||||
* Wed May 18 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.8.1-1
|
||||
- Update to 1.8.1
|
||||
|
||||
* Sat Jan 23 2016 Hans de Goede <j.w.r.degoede@gmail.com> - 1.6.3-1
|
||||
- Update to 1.6.3
|
||||
|
||||
* Thu Dec 24 2015 Hans de Goede <j.w.r.degoede@gmail.com> - 1.6.2-1
|
||||
- Update to 1.6.2
|
||||
|
||||
* Sat Oct 31 2015 Hans de Goede <j.w.r.degoede@gmail.com> - 1.6.1-1
|
||||
- Update to 1.6.1
|
||||
- Upstream is using ffmpeg instead of libav now, switch to system ffmpeg-libs
|
||||
|
||||
* Sat May 16 2015 Hans de Goede <j.w.r.degoede@gmail.com> - 1.4.5-1
|
||||
- Update to 1.4.5
|
||||
- Update libav to 10.6
|
||||
|
||||
* Wed Oct 1 2014 Hans de Goede <j.w.r.degoede@gmail.com> - 1.4.3-1
|
||||
- Update to 1.4.3
|
||||
- Includes libav 10.5
|
||||
|
||||
* Fri Aug 29 2014 Hans de Goede <j.w.r.degoede@gmail.com> - 1.4.1-1
|
||||
- Update to 1.4.1 (rf#3343)
|
||||
- Includes libav 10.4
|
||||
|
||||
* Sun Jun 15 2014 Hans de Goede <j.w.r.degoede@gmail.com> - 1.2.4-1
|
||||
- Update to 1.2.4 (rf#3269)
|
||||
- Update libav to 9.13
|
||||
|
||||
* Sat Feb 15 2014 Michael Kuhn <suraia@ikkoku.de> - 1.2.3-1
|
||||
- Update to 1.2.3.
|
||||
- Update libav to 9.11.
|
||||
|
||||
* Sat Jan 04 2014 Michael Kuhn <suraia@ikkoku.de> - 1.2.2-1
|
||||
- Update to 1.2.2.
|
||||
|
||||
* Sat Nov 16 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.2.1-1
|
||||
- Rebase to 1.2.1
|
||||
|
||||
* Sun Oct 13 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.2.0-1
|
||||
- Rebase to 1.2.0
|
||||
- Upgrade the buildin libav to 9.10 to get all the security fixes from
|
||||
upstream libav
|
||||
- Switch back to included libav copy again, libav and ffmpeg have
|
||||
deviated to much to use a system ffmpeg lib as libav replacement,
|
||||
this fixes a bad memory-leak (rpmfusion#2976)
|
||||
|
||||
* Mon Sep 30 2013 Nicolas Chauvet <kwizart@gmail.com> - 1.1.3-4
|
||||
- Rebuilt
|
||||
|
||||
* Tue Aug 27 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.1.3-3
|
||||
- Rebuild now devel properly points to f20
|
||||
|
||||
* Mon Aug 26 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.1.3-2
|
||||
- Rebuild for ffmpeg-2.0
|
||||
|
||||
* Thu Aug 8 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.1.3-1
|
||||
- Rebase to 1.1.3
|
||||
- Switch back to using system ffmpeg
|
||||
|
||||
* Tue Aug 6 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.9-1
|
||||
- Rebase to 1.0.9
|
||||
- This includes an upgrade of the buildin libav to 0.8.8 which includes a
|
||||
bunch of security fixes from
|
||||
- No longer overwrite the included libav, as the bundled one is the latest
|
||||
|
||||
* Mon Mar 25 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.6-1
|
||||
- Rebase to 1.0.6
|
||||
- Upgrade the buildin libav to 0.8.6 to get all the security fixes from
|
||||
upstream libav
|
||||
|
||||
* Sun Mar 10 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.5-2
|
||||
- Add a patch from upstream git to fix h264 decoding artifacts (rf#2710)
|
||||
- Add a patch from upstream libav to fix miscompilation with gcc-4.8
|
||||
(rf#2710, gnome#695166, libav#388)
|
||||
|
||||
* Sat Mar 2 2013 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.5-1
|
||||
- Rebase to 1.0.5 (rf#2688)
|
||||
- Upgrade the buildin libav to 0.8.5 to get all the security fixes from
|
||||
upstream libav
|
||||
|
||||
* Sat Nov 3 2012 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.2-2
|
||||
- Build included libav with the default RPM_OPT_FLAGS (rf#2560, rf#2472)
|
||||
|
||||
* Sun Oct 28 2012 Hans de Goede <j.w.r.degoede@gmail.com> - 1.0.2-1
|
||||
- Rebase to 1.0.2
|
||||
- Included libav copy updated to 0.8.4
|
||||
- Change the license to LGPLv2+, as the GPL only postproc plugin is no longer
|
||||
included
|
||||
- Replace references to ffmpeg with libav (rf#2472)
|
||||
- Add COPYING.LIB to %%doc (rf#2472)
|
||||
- Run make with V=1 (rf#2472)
|
||||
|
||||
* Sun Sep 23 2012 Hans de Goede <j.w.r.degoede@gmail.com> - 0.11.99-1
|
||||
- New upstream release 0.11.99
|
||||
|
||||
* Sun Sep 9 2012 Hans de Goede <j.w.r.degoede@gmail.com> - 0.11.93-1
|
||||
- First version of gstreamer1-libav for rpmfusion
|
Loading…
Reference in new issue