Commit graph

2287 commits

Author SHA1 Message Date
Sebastian Dröge fce3e0ba66 avdemux: Use av_packet_unref() instead of deprecated av_free_packet() 2016-01-19 09:39:00 +02:00
Sebastian Dröge 1d7d7033bc avvidenc: Use AVPacket.flags for detecting keyframes
AVCodec.coded_frame is deprecated and will disappear at some point
in the future.
2016-01-19 09:36:01 +02:00
Sebastian Dröge e04bcf0601 avdeinterlace: Chain up to parent class' dispose()
https://bugzilla.gnome.org/show_bug.cgi?id=757498
2016-01-16 17:24:09 +02:00
Sebastian Dröge 46fb2e9f11 libav: Bitrate field changed from int to int64_t, fix compiler warnings
Cast it to a gint64 for now though, as otherwise we will fail compilation
with ffmpeg 2.8.

https://bugzilla.gnome.org/show_bug.cgi?id=757498
2016-01-16 17:23:37 +02:00
Andreas Cadhalpun 6235a04ef3 libav: Remove usage of deprecated API
https://bugzilla.gnome.org/show_bug.cgi?id=757498
2016-01-16 16:47:40 +02:00
Andreas Cadhalpun ddec3a2c78 avdeinterlace: Port non-deprecated AVFilter API
https://bugzilla.gnome.org/show_bug.cgi?id=757498
2016-01-16 11:11:44 +01:00
Sebastian Dröge e324c2e607 libav: Update to ffmpeg n2.8.5 2016-01-16 11:09:31 +01:00
Tim-Philipp Müller 83ce87e7c8 av: canonicalise av plugin name more consistently in more places
Use g_strdelimit(), make sure to include comma as well, which
isn't included in G_STR_DELIMITERS.

https://bugzilla.gnome.org/show_bug.cgi?id=734451
2016-01-07 17:16:41 +00:00
Sebastian Dröge dbb6beba92 Back to development 2015-12-24 15:29:11 +01:00
Sebastian Dröge 0993ec8fa5 Release 1.7.1 2015-12-24 14:49:39 +01:00
Sebastian Dröge 8e466b73d8 avcodecmap: Add special mapping for mono channel layouts
In ffmpeg this is the same as FRONT_CENTER, but we distinguish between
FRONT_CENTER and MONO in GStreamer. Add an explicit mapping for this special
case in the translations functions.

https://bugzilla.gnome.org/show_bug.cgi?id=759846
2015-12-24 13:10:55 +01:00
Vineeth TM ae27b9c503 avviddec: remove realvideo slice_offset handling
Handling slice_offset in avviddec is resulting in invalid memory read.
Since rv decoders anyways handle slice_offset, removing the same to fix
memory mishandlings

https://bugzilla.gnome.org/show_bug.cgi?id=758726
2015-12-23 13:17:08 +01:00
Sebastian Dröge ba5bde5de9 libav: Update to ffmpeg n2.8.4 2015-12-21 12:41:02 +01:00
Sebastian Dröge d2397bec17 configure: Use -Bsymbolic-functions if available
While this is more useful for libraries, some of our plugins with multiple
files and some internal API can also benefit from this.
2015-12-21 12:34:11 +01:00
Sebastian Dröge e9877a254d docs: update to git 2015-12-16 09:36:25 +01:00
Nicolas Dufresne 029ac8cdd0 Automatic update of common submodule
From b319909 to 86e4663
2015-12-07 09:11:30 -05:00
Reynaldo H. Verdejo Pinochet 193b0d81d1 Require libav provided by FFmpeg at run-time
Error out if system's libav* libraries are not
provided by FFmpeg. Libav-incompatible changes
were introduced to support the latter so we
can no longer support both.

https://bugzilla.gnome.org/show_bug.cgi?id=758183
2015-12-04 11:59:47 -08:00
Reynaldo H. Verdejo Pinochet d9dec6893a Require libav provided by FFmpeg at build-time
Libav-incompatible changes were introduced to support
FFmpeg and we can no longer properly support Libav.

FFmpeg micro versions for libav* start at 100 (this was
done to differentiate from Libav builds). We use this
to bail at configure time if the system libav* libraries
are not provided by FFmpeg.

https://bugzilla.gnome.org/show_bug.cgi?id=758183
2015-12-03 11:47:52 -08:00
Sebastian Dröge 3641ca0563 libav: Update to n2.8.3 2015-12-01 15:12:22 +02:00
Sebastian Dröge 5df8cc5e38 avviddec: Make sure to use a buffer pool with the correct width/height configured on it for pushing buffers downstream
If downstream does not provide a (usable) pool, we would use our internal
pool. But the internal pool might be configured with a different width/height
because of padding, which then will cause problems if we push buffers from it
directly downstream.
Instead create a new pool if the width/height is different.

This prevents crashes with vaapisink and d3dvideosink for example.

Based on the debugging results and discussions with
Nicolas Dufresne <nicolas.dufresne@collabora.com>

https://bugzilla.gnome.org/show_bug.cgi?id=758344
2015-12-01 12:34:27 +02:00
Vineeth T M 839a72f92c avviddec: Fix structure memory leak
gst_structure_copy already takes a reference for config_copy.
No need to take another reference while setting it to buffer pool

https://bugzilla.gnome.org/show_bug.cgi?id=758512
2015-11-23 12:05:26 -03:00
Reynaldo H. Verdejo Pinochet 598f71d12c Remove unnecessary NULL checks before g_free()
g_free() is NULL-safe

(Includes unrelated formatting change to go through
indent checker commit hook)
2015-11-20 10:48:47 -08:00
Sebastian Dröge 28168ed305 libav: Update to n2.8.2 2015-11-12 10:44:25 +01:00
Nicolas Dufresne 2a7aaeb3da avviddec: Don't fallback on allocation failure
Allocation should keep working, falling back causes the stride to
change which is not supported in direct rendering.

https://bugzilla.gnome.org/show_bug.cgi?id=756028
2015-11-07 12:12:46 -05:00
Vineeth TM 2d94a1cbcc avvidenc: Fix frame memory leak
The frame being passed to handle_frame should be unref'ed in all cases

https://bugzilla.gnome.org/show_bug.cgi?id=757453
2015-11-02 09:25:34 +02:00
Vineeth TM e5b9e11383 avdemux: Fix string memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=757454
2015-11-02 09:22:37 +02:00
Mark Nauwelaerts 67e55e47e2 avviddec: _drain and _finish need slightly different handling
... since they handle separate cases in video decoder with different requirements.
Consider e.g. x264enc ! rtph264pay ! identity drop-probability=0.1 ! rtph264depay
to illustrate a need for such separation.
2015-10-26 19:54:10 +01:00
Tim-Philipp Müller c53c039ccf Automatic update of common submodule
From b99800a to b319909
2015-10-21 14:37:05 +01:00
Sebastian Dröge ee3d37c8ed Use new GST_ENABLE_EXTRA_CHECKS #define
https://bugzilla.gnome.org/show_bug.cgi?id=756870
2015-10-21 14:36:21 +03:00
Sebastian Dröge 8c98a8d5f0 Automatic update of common submodule
From 9aed1d7 to b99800a
2015-10-21 14:28:34 +03:00
Sebastian Dröge dc4b9ef7e6 avviddec: Fix bufferpool config double free by taking a copy as needed
Also free the config in two code paths where we leaked it before.
2015-10-16 18:52:57 +03:00
Sebastian Dröge 5d52dcf5ef libav: Update to n2.8.1 2015-10-14 10:18:32 +03:00
Thiago Santos 1356ff84b3 avcodecmap: add jpeg2000 decoder mapping
Map the 3 possible jpeg2000 caps to JPEG2000 codec id
2015-10-11 05:27:57 -03:00
Sebastian Dröge eedefc9f6b avcodecmap: Don't allocate dummy codec data anymore, it causes crashes nowadays
Multithreaded encoders are going to free this dummy codec data twice, e.g.
with this pipeline
  gst-launch-1.0 videotestsrc num-buffers=40 ! \
    videoconvert ! avenc_mjpeg ! fakesink
2015-10-03 18:25:35 +01:00
Sebastian Dröge e5e78379ad avvidenc: Pass the correct user_data to gst_buffer_new_wrapped_full()
Fixes crash with e.g.

  gst-launch-1.0 videotestsrc num-buffers=40 ! \
    videoconvert ! avenc_huffyuv ! fakesink
2015-10-03 18:14:05 +01:00
Sebastian Dröge fcdb9c08c5 libav: G_CONST_RETURN is deprecated since GLib 2.30 2015-10-02 23:02:01 +03:00
Sebastian Dröge 57ff7ab199 Add configure check for GLib for consistency with other modules 2015-10-02 22:26:36 +03:00
Luis de Bethencourt 3999a29748 avviddec: only free config when pool doesn't take ownership
Since gst_buffer_pool_set_config() takes ownership of the config structure,
it is only necessary to free the structure before using it when the true
branch of if (gst_buffer_pool_config_validate_params) hasn't run.

gst_buffer_pool_set_config() always takes ownership of the structure
regardless of success or failure. Which means the return, checked with
if (!working_pool), has no relation to the state of the structure.
2015-10-02 11:49:39 +01:00
Luis de Bethencourt 074a128f0f avviddec: fix memory leak
Free config before overwriting.

CID #1320708
2015-09-29 16:44:47 +01:00
Sebastian Dröge 2a2c9f8661 Back to development 2015-09-25 23:51:15 +02:00
Sebastian Dröge 48e0e053bd Release 1.6.0 2015-09-25 23:32:21 +02:00
Sebastian Dröge 6eb5698435 Release 1.5.91 2015-09-18 20:10:32 +02:00
Tim-Philipp Müller 6fadf448de avvidec: increase default alignment to 32 bytes
Change default alignment from 16 to 32 bytes, which fixes crashes
when decoding H.265 using AVX2-based decoder code paths and when
using ximagesink/glimagesink.

https://bugzilla.gnome.org/show_bug.cgi?id=754120
2015-09-15 16:36:49 +01:00
Tim-Philipp Müller a0ebef9637 avvideodec: ensure required mem alignment fixing avdec_h265 crashes with ximagesink/glimagesink
Make sure the alignment requirement in GstAllocationParams
matches the GstVideoAlignment requirements. This fixes
issues with avdec_h265 crashing in the avx2 code path when
used with playbin and ximagesink/glimagesink as videosink.

The internal video pool would allocate buffers with an
alignment of 15 even though GstVideoAlignment specified
a stride_align requirement of 31 (which comes from ffmpeg).

https://bugzilla.gnome.org/show_bug.cgi?id=754120
2015-09-15 16:36:30 +01:00
Sebastian Dröge fa8679b4d8 libav: Update to ffmpeg n2.8
https://bugzilla.gnome.org/show_bug.cgi?id=754920
2015-09-12 21:29:17 +02:00
Jan Schmidt 30a406591a avvid/audenc: Set some tags in the output for downstream's info
Add the codec name and bitrate into the output for informational
purposes. Bitrate in particular is now used by flvmux to set
videodatarate and audiodatarate in the resulting stream
2015-08-24 00:01:40 +10:00
Nicolas Dufresne 6e590fe498 avviddec: Fix pool reallocation logic
Some check where incorect and also unsafe. The only reliable information
in get_buffer2 is the picture width/height really. The side effect is
that the width/height of the internal pool endup padded, so when we
switch we also need to switch to the a new width/height, hence we save
the pool info.

https://bugzilla.gnome.org/show_bug.cgi?id=753869
2015-08-20 16:23:23 -07:00
Sebastian Dröge 173718d146 Release 1.5.90 2015-08-19 14:12:35 +03:00
Nicolas Dufresne e3bdfb5608 aviddec: Re-enable direct rendering
This is achieved by using a tempory internal pool. We can then switch to a
downstream pool if the downstream pool buffer have matching strides.

https://bugzilla.gnome.org/show_bug.cgi?id=752802
2015-08-17 10:47:53 +02:00
Thiago Santos fa29036836 avvidenc: use template subset check for accept-caps
It is faster than doing a query that propagates downstream and
should be enough
2015-08-17 04:36:39 -03:00