[-]
[+]
|
Changed |
_service:tar_git:gst-libav.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,6 +2,5 @@
<service name="tar_git">
<param name="url">https://git.merproject.org/r0kk3rz/gst-libav.git</param>
<param name="branch">master</param>
- <param name="revision">438825217311dae0cdc2eb5e9c0b317fbf384cd9</param>
</service>
</services>
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/ChangeLog
^
|
@@ -1,3 +1,82 @@
+=== release 1.14.4 ===
+
+2018-10-02 23:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * gst-libav.doap:
+ * meson.build:
+ Release 1.14.4
+
+2018-10-02 23:10:02 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/inspect/plugin-libav.xml:
+ Update docs
+
+2018-10-01 16:13:29 +0530 Nirbheek Chauhan <nirbheek@centricular.com>
+
+ * meson.build:
+ meson: Don't export symbols from linked static libraries
+ We don't want to export any symbols from the ffmpeg static libraries
+ we link to when building inside Cerbero. In the Autotools build, we
+ pass -export-symbols-regex to libtool which ensures this for us.
+
+=== release 1.14.3 ===
+
+2018-09-16 16:30:18 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * gst-libav.doap:
+ * meson.build:
+ Release 1.14.3
+
+2018-09-16 16:30:18 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/inspect/plugin-libav.xml:
+ Update docs
+
+2018-08-16 16:28:15 -0400 Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+ * meson.build:
+ meson: Unify required version to 0.40.1
+
+=== release 1.14.2 ===
+
+2018-07-20 01:04:22 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * ChangeLog:
+ * NEWS:
+ * RELEASE:
+ * configure.ac:
+ * gst-libav.doap:
+ * meson.build:
+ Release 1.14.2
+
+2018-07-20 01:04:22 +0100 Tim-Philipp Müller <tim@centricular.com>
+
+ * docs/plugins/inspect/plugin-libav.xml:
+ Update docs
+
+2018-07-18 19:41:50 +0900 Seungha Yang <seungha.yang@navercorp.com>
+
+ * ext/libav/gstav.c:
+ * ext/libav/gstav.h:
+ * ext/libav/gstavauddec.c:
+ * ext/libav/gstavviddec.c:
+ libav: Fix symbol redefine build error
+ https://bugzilla.gnome.org/show_bug.cgi?id=796827
+
+2018-05-31 17:28:44 +0800 Roland Jon <rlandjon@gmail.com>
+
+ * ext/libav/gstavdemux.c:
+ avdemux: fix memory leaks
+ https://bugzilla.gnome.org/show_bug.cgi?id=796452
+
=== release 1.14.1 ===
2018-05-17 13:32:10 +0100 Tim-Philipp Müller <tim@centricular.com>
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/NEWS
^
|
@@ -5,13 +5,13 @@
GStreamer 1.14.0 was originally released on 19 March 2018.
-The latest bug-fix release in the 1.14 series is 1.14.1 and was released
-on 17 May 2018.
+The latest bug-fix release in the 1.14 series is 1.14.3 and was released
+on 16 September 2018.
See https://gstreamer.freedesktop.org/releases/1.14/ for the latest
version of this document.
-_Last updated: Thursday 17 May 2018, 12:00 UTC (log)_
+_Last updated: Sunday 16 September 2018, 13:00 UTC (log)_
Introduction
@@ -87,14 +87,14 @@
applications that set up connections with and stream to and from other
WebRTC peers, whilst leveraging all of the usual GStreamer features such
as hardware-accelerated encoding and decoding, OpenGL integration,
-zero-copy and embedded platform support. And it's easy to build and
+zero-copy and embedded platform support. And it’s easy to build and
integrate into your application too!
WebRTC enables real-time communication of audio, video and data with web
browsers and native apps, and it is supported or about to be support by
recent versions of all major browsers and operating systems.
-GStreamer's new WebRTC implementation uses libnice for Interactive
+GStreamer’s new WebRTC implementation uses libnice for Interactive
Connectivity Establishment (ICE) to figure out the best way to
communicate with other peers, punch holes into firewalls, and traverse
NATs.
@@ -104,9 +104,9 @@
functionality is missing it should be fairly obvious where it needs to
go.
-For more details, background and example code, check out Nirbheek's blog
-post _GStreamer has grown a WebRTC implementation_, as well as Matthew's
-_GStreamer WebRTC_ talk from last year's GStreamer Conference in Prague.
+For more details, background and example code, check out Nirbheek’s blog
+post _GStreamer has grown a WebRTC implementation_, as well as Matthew’s
+_GStreamer WebRTC_ talk from last year’s GStreamer Conference in Prague.
New Elements
@@ -117,7 +117,7 @@
(SRT) video streaming protocol, which aims to be easy to use whilst
striking a new balance between reliability and latency for low
latency video streaming use cases. More details about SRT and the
- implementation in GStreamer in Olivier's blog post _SRT in
+ implementation in GStreamer in Olivier’s blog post _SRT in
GStreamer_.
- av1enc and av1dec elements providing experimental support for the
@@ -138,7 +138,7 @@
GStreamer-internal latency as well as latency added by external
components or circuits.
-- 'fakevideosink is basically a null sink for video data and very
+- ’fakevideosink is basically a null sink for video data and very
similar to fakesink, only that it will answer allocation queries and
will advertise support for various video-specific things such
GstVideoMeta, GstVideoCropMeta and GstVideoOverlayCompositionMeta
@@ -149,22 +149,22 @@
multiple processes. Usually a GStreamer pipeline runs in a single
process and parallelism is achieved by distributing workloads using
multiple threads. This means that all elements in the pipeline have
- access to all the other elements' memory space however, including
+ access to all the other elements’ memory space however, including
that of any libraries used. For security reasons one might therefore
want to put sensitive parts of a pipeline such as DRM and decryption
handling into a separate process to isolate it from the rest of the
pipeline. This can now be achieved with the new ipcpipeline plugin.
- Check out George's blog post _ipcpipeline: Splitting a GStreamer
+ Check out George’s blog post _ipcpipeline: Splitting a GStreamer
pipeline into multiple processes_ or his lightning talk from last
- year's GStreamer Conference in Prague for all the gory details.
+ year’s GStreamer Conference in Prague for all the gory details.
- proxysink and proxysrc are new elements to pass data from one
pipeline to another within the same process, very similar to the
existing inter elements, but not limited to raw audio and video
data. These new proxy elements are very special in how they work
under the hood, which makes them extremely powerful, but also
- dangerous if not used with care. The reason for this is that it's
- not just data that's passed from sink to src, but these elements
+ dangerous if not used with care. The reason for this is that it’s
+ not just data that’s passed from sink to src, but these elements
basically establish a two-way wormhole that passes through queries
and events in both directions, which means caps negotiation and
allocation query driven zero-copy can work through this wormhole.
@@ -173,13 +173,13 @@
streaming thread. There is a queue element inside proxysrc to
decouple the source thread from the sink thread, but that queue is
not unlimited, so it is entirely possible that the proxysink
- pipeline thread gets stuck in the proxysrc pipeline, e.g. when that
+ pipeline thread gets stuck in the proxysrc pipeline, e.g. when that
pipeline is paused or stops consuming data for some other reason.
This means that one should always shut down down the proxysrc
pipeline before shutting down the proxysink pipeline, for example.
Or at least take care when shutting down pipelines. Usually this is
not a problem though, especially not in live pipelines. For more
- information see Nirbheek's blog post _Decoupling GStreamer
+ information see Nirbheek’s blog post _Decoupling GStreamer
Pipelines_, and also check out out the new ipcpipeline plugin for
sending data from one process to another process (see above).
@@ -204,13 +204,13 @@
in the GStreamer WebRTC implementation.
- GstReferenceTimestampMeta is a new meta that allows you to attach
- additional reference timestamps to a buffer. These timestamps don't
+ additional reference timestamps to a buffer. These timestamps don’t
have to relate to the pipeline clock in any way. Examples of this
could be an NTP timestamp when the media was captured, a frame
counter on the capture side or the (local) UNIX timestamp when the
media was captured. The decklink elements make use of this.
-- GstVideoRegionOfInterestMeta: it's now possible to attach generic
+- GstVideoRegionOfInterestMeta: it’s now possible to attach generic
free-form element-specific parameters to a region of interest meta,
for example to tell a downstream encoder to use certain codec
parameters for a certain region.
@@ -247,7 +247,7 @@
- GstAudioStreamAlign is a new helper object for audio elements that
handles discontinuity detection and sample alignment. It will align
- samples after the previous buffer's samples, but keep track of the
+ samples after the previous buffer’s samples, but keep track of the
divergence between buffer timestamps and sample position (jitter).
If it exceeds a configurable threshold the alignment will be reset.
This simply factors out code that was duplicated in a number of
@@ -267,7 +267,7 @@
installing and handling a "render-rectangle" property on elements
that implement this interface, so that this functionality can also
be used from the command line for testing and debugging purposes.
- The property wasn't added to the interface itself as that would
+ The property wasn’t added to the interface itself as that would
require all implementors to provide it which would not be
backwards-compatible.
@@ -280,11 +280,11 @@
element is based on this.
- Full list of API new in 1.14:
-- GStreamer core API new in 1.14
-- GStreamer base library API new in 1.14
-- gst-plugins-base libraries API new in 1.14
-- gst-plugins-bad: no list, mostly GstWebRTC library and new
- non-stream audio decoder base class.
+ - GStreamer core API new in 1.14
+ - GStreamer base library API new in 1.14
+ - gst-plugins-base libraries API new in 1.14
+ - gst-plugins-bad: no list, mostly GstWebRTC library and new
+ non-stream audio decoder base class.
New RTP features and improvements
@@ -301,7 +301,7 @@
packet loss using _retransmission (rtx)_. GStreamer has had
retransmission support for a long time, but Forward Error Correction
allows for different trade-offs: The advantage of Forward Error
- Correction is that it doesn't add latency, whereas retransmission
+ Correction is that it doesn’t add latency, whereas retransmission
requires at least one more roundtrip to request and hopefully
receive lost packets; Forward Error Correction increases the
required bandwidth however, even in situations where there is no
@@ -317,7 +317,7 @@
- a few new buffer flags for FEC support:
GST_BUFFER_FLAG_NON_DROPPABLE can be used to mark important buffers,
- e.g. to flag RTP packets carrying keyframes or codec setup data for
+ e.g. to flag RTP packets carrying keyframes or codec setup data for
RTP Forward Error Correction purposes, or to prevent still video
frames from being dropped by elements due to QoS. There already is a
GST_BUFFER_FLAG_DROPPABLE. GST_RTP_BUFFER_FLAG_REDUNDANT is used to
@@ -337,8 +337,8 @@
- rtpjitterbuffer has a new fast start mode: in many scenarios the
jitter buffer will have to wait for the full configured latency
before it can start outputting packets. The reason for that is that
- it often can't know what the sequence number of the first expected
- RTP packet is, so it can't know whether a packet earlier than the
+ it often can’t know what the sequence number of the first expected
+ RTP packet is, so it can’t know whether a packet earlier than the
earliest packet received will still arrive in future. This behaviour
can now be bypassed by setting the "faststart-min-packets" property
to the number of consecutive packets needed to start, and the jitter
@@ -367,10 +367,10 @@
- tee now does allocation query aggregation, which is important for
zero-copy and efficient data handling, especially for video. Those
who want to drop allocation queries on purpose can use the identity
- element's new "drop-allocation" property for that instead.
+ element’s new "drop-allocation" property for that instead.
- audioconvert now has a "mix-matrix" property, which obsoletes the
- audiomixmatrix element. There's also mix matrix support in the audio
+ audiomixmatrix element. There’s also mix matrix support in the audio
conversion and channel mixing API.
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/RELEASE
^
|
@@ -1,6 +1,6 @@
-This is GStreamer gst-libav 1.14.1.
+This is GStreamer gst-libav 1.14.4.
-The GStreamer team is pleased to announce a new bug-fix release in the
+The GStreamer team is pleased to announce another bug-fix release in the
stable 1.x API series of your favourite cross-platform multimedia framework!
The 1.14 release series adds new features on top of the 1.12 series and is
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/configure.ac
^
|
@@ -3,7 +3,7 @@
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
-AC_INIT(GStreamer libav, 1.14.1,
+AC_INIT(GStreamer libav, 1.14.4,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-libav)
@@ -42,11 +42,11 @@
dnl *** Check for external $AS vs detected by AS_LIBTOOL
orig_AS="$AS"
AG_GST_LIBTOOL_PREPARE
-AS_LIBTOOL(GST, 1401, 0, 1401)
+AS_LIBTOOL(GST, 1404, 0, 1404)
dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.14.1
-GST_PBREQ=1.14.1
+GST_REQ=1.14.4
+GST_PBREQ=1.14.4
ORC_REQ=0.4.16
ORC_CHECK([$ORC_REQ])
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/docs/plugins/inspect/plugin-libav.xml
^
|
@@ -3,7 +3,7 @@
<description>All libav codecs and formats (local snapshot)</description>
<filename>../../ext/libav/.libs/libgstlibav.so</filename>
<basename>libgstlibav.so</basename>
- <version>1.14.1</version>
+ <version>1.14.4</version>
<license>LGPL</license>
<source>gst-libav</source>
<package>GStreamer libav source release</package>
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/ext/libav/gstav.c
^
|
@@ -42,7 +42,6 @@
#endif
GST_DEBUG_CATEGORY (ffmpeg_debug);
-GST_DEBUG_CATEGORY (CAT_PERFORMANCE);
static GMutex gst_avcodec_mutex;
@@ -143,7 +142,6 @@
plugin_init (GstPlugin * plugin)
{
GST_DEBUG_CATEGORY_INIT (ffmpeg_debug, "libav", 0, "libav elements");
- GST_DEBUG_CATEGORY_GET (CAT_PERFORMANCE, "GST_PERFORMANCE");
/* Bail if not FFmpeg. We can no longer ensure operation with Libav */
if (!gst_ffmpeg_avcodec_is_ffmpeg ()) {
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/ext/libav/gstav.h
^
|
@@ -34,8 +34,6 @@
GST_DEBUG_CATEGORY_EXTERN (ffmpeg_debug);
#define GST_CAT_DEFAULT ffmpeg_debug
-GST_DEBUG_CATEGORY_EXTERN (CAT_PERFORMANCE);
-
G_BEGIN_DECLS
extern gboolean gst_ffmpegdemux_register (GstPlugin * plugin);
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/ext/libav/gstavauddec.c
^
|
@@ -36,6 +36,8 @@
#include "gstavutils.h"
#include "gstavauddec.h"
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
+
/* A number of function prototypes are given so we can refer to them later. */
static void gst_ffmpegauddec_base_init (GstFFMpegAudDecClass * klass);
static void gst_ffmpegauddec_class_init (GstFFMpegAudDecClass * klass);
@@ -134,6 +136,8 @@
gstaudiodecoder_class->flush = GST_DEBUG_FUNCPTR (gst_ffmpegauddec_flush);
gstaudiodecoder_class->propose_allocation =
GST_DEBUG_FUNCPTR (gst_ffmpegauddec_propose_allocation);
+
+ GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
}
static void
@@ -752,7 +756,7 @@
GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d",
ffmpegdec->padded_size);
}
- GST_CAT_TRACE_OBJECT (CAT_PERFORMANCE, ffmpegdec,
+ GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec,
"Copy input to add padding");
memcpy (ffmpegdec->padded, bdata, bsize);
memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
@@ -771,7 +775,7 @@
if (do_padding) {
/* add temporary padding */
- GST_CAT_TRACE_OBJECT (CAT_PERFORMANCE, ffmpegdec,
+ GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec,
"Add temporary input padding");
memcpy (tmp_padding, data + size, FF_INPUT_BUFFER_PADDING_SIZE);
memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/ext/libav/gstavdemux.c
^
|
@@ -1077,53 +1077,55 @@
return output;
}
-/* g_hash_table_insert requires non-const arguments, so
- * we need to cast const strings to void * */
-#define ADD_TAG_MAPPING(h, k, g) \
- g_hash_table_insert ((h), (void *) (k), (void *) (g));
-
-static GstTagList *
-gst_ffmpeg_metadata_to_tag_list (AVDictionary * metadata)
+/* This is a list of standard tag keys taken from the avformat.h
+ * header, without handling any variants. */
+static const struct
{
- GHashTable *tagmap = NULL;
- AVDictionaryEntry *tag = NULL;
- GstTagList *list;
-
- if (g_once_init_enter (&tagmap)) {
- GHashTable *tmp = g_hash_table_new (g_str_hash, g_str_equal);
-
- /* This is a list of standard tag keys taken from the avformat.h
- * header, without handling any variants. */
- ADD_TAG_MAPPING (tmp, "album", GST_TAG_ALBUM);
- ADD_TAG_MAPPING (tmp, "album_artist", GST_TAG_ALBUM_ARTIST);
- ADD_TAG_MAPPING (tmp, "artist", GST_TAG_ARTIST);
- ADD_TAG_MAPPING (tmp, "comment", GST_TAG_COMMENT);
- ADD_TAG_MAPPING (tmp, "composer", GST_TAG_COMPOSER);
- ADD_TAG_MAPPING (tmp, "copyright", GST_TAG_COPYRIGHT);
+ const gchar *ffmpeg_tag_name;
+ const gchar *gst_tag_name;
+} tagmapping[] = {
+ {
+ "album", GST_TAG_ALBUM}, {
+ "album_artist", GST_TAG_ALBUM_ARTIST}, {
+ "artist", GST_TAG_ARTIST}, {
+ "comment", GST_TAG_COMMENT}, {
+ "composer", GST_TAG_COMPOSER}, {
+ "copyright", GST_TAG_COPYRIGHT}, {
/* Need to convert ISO 8601 to GstDateTime: */
- ADD_TAG_MAPPING (tmp, "creation_time", GST_TAG_DATE_TIME);
+ "creation_time", GST_TAG_DATE_TIME}, {
/* Need to convert ISO 8601 to GDateTime: */
- ADD_TAG_MAPPING (tmp, "date", GST_TAG_DATE_TIME);
- ADD_TAG_MAPPING (tmp, "disc", GST_TAG_ALBUM_VOLUME_NUMBER);
- ADD_TAG_MAPPING (tmp, "encoder", GST_TAG_ENCODER);
- ADD_TAG_MAPPING (tmp, "encoded_by", GST_TAG_ENCODED_BY);
- /* ADD_TAG_MAPPING (tmp, "filename", ); -- No mapping */
- ADD_TAG_MAPPING (tmp, "genre", GST_TAG_GENRE);
- ADD_TAG_MAPPING (tmp, "language", GST_TAG_LANGUAGE_CODE);
- ADD_TAG_MAPPING (tmp, "performer", GST_TAG_PERFORMER);
- ADD_TAG_MAPPING (tmp, "publisher", GST_TAG_PUBLISHER);
- /* ADD_TAG_MAPPING(tmp, "service_name", ); -- No mapping */
- /* ADD_TAG_MAPPING(tmp, "service_provider", ); -- No mapping */
- ADD_TAG_MAPPING (tmp, "title", GST_TAG_TITLE);
- ADD_TAG_MAPPING (tmp, "track", GST_TAG_TRACK_NUMBER);
+ "date", GST_TAG_DATE_TIME}, {
+ "disc", GST_TAG_ALBUM_VOLUME_NUMBER}, {
+ "encoder", GST_TAG_ENCODER}, {
+ "encoded_by", GST_TAG_ENCODED_BY}, {
+ "genre", GST_TAG_GENRE}, {
+ "language", GST_TAG_LANGUAGE_CODE}, {
+ "performer", GST_TAG_PERFORMER}, {
+ "publisher", GST_TAG_PUBLISHER}, {
+ "title", GST_TAG_TITLE}, {
+ "track", GST_TAG_TRACK_NUMBER}
+};
- g_once_init_leave (&tagmap, tmp);
+static const gchar *
+match_tag_name (gchar * ffmpeg_tag_name)
+{
+ gint i;
+ for (i = 0; i < G_N_ELEMENTS (tagmapping); i++) {
+ if (!g_strcmp0 (tagmapping[i].ffmpeg_tag_name, ffmpeg_tag_name))
+ return tagmapping[i].gst_tag_name;
}
+ return NULL;
+}
+static GstTagList *
+gst_ffmpeg_metadata_to_tag_list (AVDictionary * metadata)
+{
+ AVDictionaryEntry *tag = NULL;
+ GstTagList *list;
list = gst_tag_list_new_empty ();
while ((tag = av_dict_get (metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) {
- const gchar *gsttag = g_hash_table_lookup (tagmap, tag->key);
+ const gchar *gsttag = match_tag_name (tag->key);
GType t;
GST_LOG ("mapping tag %s=%s\n", tag->key, tag->value);
if (gsttag == NULL) {
@@ -1315,7 +1317,8 @@
}
}
}
-
+ if (tags)
+ gst_tag_list_unref (tags);
return TRUE;
/* ERRORS */
@@ -1389,7 +1392,7 @@
gst_ffmpegdemux_loop (GstFFMpegDemux * demux)
{
GstFlowReturn ret;
- gint res;
+ gint res = -1;
AVPacket pkt;
GstPad *srcpad;
GstFFStream *stream;
@@ -1541,7 +1544,9 @@
done:
/* can destroy the packet now */
- av_packet_unref (&pkt);
+ if (res == 0) {
+ av_packet_unref (&pkt);
+ }
return;
@@ -1585,7 +1590,7 @@
GST_ELEMENT_FLOW_ERROR (demux, ret);
gst_ffmpegdemux_push_event (demux, gst_event_new_eos ());
}
- return;
+ goto done;
}
open_failed:
{
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/ext/libav/gstavviddec.c
^
|
@@ -38,6 +38,8 @@
#include "gstavutils.h"
#include "gstavviddec.h"
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
+
#define MAX_TS_MASK 0xff
#define DEFAULT_LOWRES 0
@@ -254,6 +256,8 @@
viddec_class->drain = gst_ffmpegviddec_drain;
viddec_class->decide_allocation = gst_ffmpegviddec_decide_allocation;
viddec_class->propose_allocation = gst_ffmpegviddec_propose_allocation;
+
+ GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
}
static void
@@ -1823,7 +1827,7 @@
GST_LOG_OBJECT (ffmpegdec, "resized padding buffer to %d",
ffmpegdec->padded_size);
}
- GST_CAT_TRACE_OBJECT (CAT_PERFORMANCE, ffmpegdec,
+ GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec,
"Copy input to add padding");
memcpy (ffmpegdec->padded, bdata, bsize);
memset (ffmpegdec->padded + bsize, 0, FF_INPUT_BUFFER_PADDING_SIZE);
@@ -1843,7 +1847,7 @@
if (do_padding) {
/* add temporary padding */
- GST_CAT_TRACE_OBJECT (CAT_PERFORMANCE, ffmpegdec,
+ GST_CAT_TRACE_OBJECT (GST_CAT_PERFORMANCE, ffmpegdec,
"Add temporary input padding");
memcpy (tmp_padding, data + size, FF_INPUT_BUFFER_PADDING_SIZE);
memset (data + size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/gst-libav.doap
^
|
@@ -34,6 +34,36 @@
<release>
<Version>
+ <revision>1.14.4</revision>
+ <branch>1.14</branch>
+ <name></name>
+ <created>2018-10-02</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.14.4.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
+ <revision>1.14.3</revision>
+ <branch>1.14</branch>
+ <name></name>
+ <created>2018-09-16</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.14.3.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
+ <revision>1.14.2</revision>
+ <branch>1.14</branch>
+ <name></name>
+ <created>2018-07-20</created>
+ <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.14.2.tar.xz" />
+ </Version>
+ </release>
+
+ <release>
+ <Version>
<revision>1.14.1</revision>
<branch>1.14</branch>
<name></name>
|
[-]
[+]
|
Changed |
_service:tar_git:gstreamer1.0-libav-1.14.4.tar.gz/upstream/meson.build
^
|
@@ -1,6 +1,6 @@
project('gst-libav', 'c', 'cpp',
- version : '1.14.1',
- meson_version : '>= 0.36.0',
+ version : '1.14.4',
+ meson_version : '>= 0.40.1',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
@@ -100,6 +100,11 @@
add_project_arguments('-fvisibility=hidden', language: 'c')
endif
+# Don't export any symbols from static ffmpeg libraries
+if cc.has_link_argument('-Wl,--exclude-libs=ALL')
+ add_project_link_arguments('-Wl,--exclude-libs=ALL', language: 'c')
+endif
+
# Disable strict aliasing
if cc.has_argument('-fno-strict-aliasing')
add_project_arguments('-fno-strict-aliasing', language: 'c')
|