Commit graph

405 commits

Author SHA1 Message Date
Mathieu Duponchelle
2bb0dc16d6 gstavcodecmap: Do not require a channel-mask
.. for mono or stereo input.

https://bugzilla.gnome.org/show_bug.cgi?id=786401
2017-08-17 14:49:12 +02:00
Sebastian Dröge
5b22802b35 Revert "avviddec: Remove usage of deprecated EDGE APIs"
This reverts commit 4284d791bc.

It causes crashes on various h264 and DNXHD/VC3 streams, where the
decoders write to arbitrary memory far after what we've allocated.
2017-08-10 18:55:29 +03:00
Satya Prakash Gupta
98cf1a7e2d avdemux/mux: Memory leak and possible crash in avio_alloc_context
https://bugzilla.gnome.org/show_bug.cgi?id=784735
2017-07-17 11:09:48 +03:00
Nicolas Dufresne
4284d791bc avviddec: Remove usage of deprecated EDGE APIs
As a side effect, left/right green bars goes away when using
xvimagesink. I just think that xv cropping is broken, so this is
probably just hiding a bug.
2017-07-11 09:37:03 -04:00
Sebastian Dröge
3ad6c9958b avmux: Blacklist scc muxer
We have no codec mappings for it and it's a subtitle/closed caption
"muxer" anyway.
2017-07-10 10:33:33 +03:00
Tim-Philipp Müller
89d9b7fa99 meson: add options to set package name and origin
https://bugzilla.gnome.org/show_bug.cgi?id=782172
2017-05-20 15:18:55 +01:00
Nicolas Dufresne
7b0a5ad309 plugin: Explicitly link to BZ2, LZMA and LZ
While all this information is in the .la files, libtool seems to get
confused with ordering in presence of static system libraries. This could
cause missing symbol error at link time. Adding these depenencies explicitly
workaround the issue.
2017-05-20 15:27:52 +02:00
Nicolas Dufresne
a65562fe9c Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:43:11 -04:00
Sebastian Dröge
15a17f3f8d avviddec: Don't expose NVIDIA CUVID decoder
It's not working without further changes on our side, like all hardware
decoders in ffmpeg.
2017-05-16 18:55:36 +03:00
Nicolas Dufresne
1038ae2327 Generate .la for internal libav libraries
This should help libtool in getting the internal linking right.
Effectively, libtool can sometime get the link order wrong when
presented with a mix of .la and -l arguments. These .la file are
also required by the android build system and were previously
created by cerbero.
2017-05-12 12:34:09 -04:00
Nicolas Dufresne
de60c46e30 Use automake to install dependency libraries
The install line was using -t parameter which is not supported on OSX.
Instead, use automake DATA installation mechanism, this way we rely on
automake to generate portable scripts.
2017-05-11 13:31:50 -04:00
Nicolas Dufresne
0b48f0e3fd Use a portable method to link against internal FFMPEG
In the last iteration, we kept the original method to link the shared
plugin and edited the .a and .la files so satisfy what cerbero needed.
Unfortunately, that required adding .a file into the archive which is
not allowed with iOS ar command for universal builds.

This patch uses standard method to link a static library. One of the
benefit is that it removes some libtool warning about portability.
For the static case, we implement an install hook that installs
FFMPEG internal .a files in the plugin directory (so it does not get
confused with a possible system FFMPEG. This makes the static plugin
usable without depending on cerbero recipe.
2017-05-11 10:08:14 -04:00
Nicolas Dufresne
46691bd0ec static: Update libgstlibav.lai too
Libtool will produce libgstlibav.la and libgstlibav.lai (the installed
version). We need to edit at least the installed version for the final
linking of static application to work.
2017-05-10 12:10:54 -04:00
Nicolas Dufresne
a7d6eb2afa Simplify and fix the static linking
Some libtool will endup removing the shared build when running a static
build. That had unwanted side effect. Rather then fighting libtool to
get to build each static and shared seperatly, let libtool build with
the LIBAV_DEPS added to LIBADD (list of libav*.a) and finally remove the
extra .a from the archive and fix the .la to what cerbero will expect.
2017-05-10 10:03:45 -04:00
Nicolas Dufresne
dcc36f6e0a libav: Allow build both static dynamic plugins
When building plugins with internal FFMPEG, we use different link
flags depending if it is static or shared. As we want to build both
static and dynamic plugins at once, rewrite the rules so we can
pass the right flags.

https://bugzilla.gnome.org/show_bug.cgi?id=779344
2017-05-09 08:49:17 -04:00
Sebastian Dröge
32addd9757 avaudenc/dec: Blacklist more PCM decoders/encoders 2017-04-13 15:23:45 +03:00
Arun Raghavan
a3b7aebf6b avvidenc: Fix compiler errors in the previous commit
The declaration of 'const char *klass' was shadowing a function
argument.
2017-03-22 12:55:40 +05:30
Arun Raghavan
2e25f166fc avvidenc: Classify image encoders with "Image" instead of "Video"
This allows gst_video_convert_sample*() to work with codecs for which we
have libav encoders (such as BMP).

https://bugzilla.gnome.org/show_bug.cgi?id=780317
2017-03-21 09:49:45 +05:30
Sebastian Dröge
fecf973bc9 avcodecmap: Add mappings for I420/I422/Y444_12LE/BE and GBRA
https://bugzilla.gnome.org/show_bug.cgi?id=780100
2017-03-16 17:22:51 +02:00
Emeric Grange
d666041a51 avcodecmap: Add GBR_12LE/BE and GBRA_12LE/BE pixel format mapping for CineForm decoder 2017-03-16 16:10:23 +02:00
Jan Schmidt
bcbe3aff83 avvidenc: Add Stereo3D mapping
Add mapping between GStreamer multiview modes/flags and
libav Stereo3D frame packings when encoding video.

https://bugzilla.gnome.org/show_bug.cgi?id=767938
2017-03-16 15:23:01 +11:00
Jan Schmidt
8e6fbe7f63 avviddec: Map any stereo3D info to multiview modes
Map any libav Stereo3D side data to GStreamer multiview
mode / flags for playback.

https://bugzilla.gnome.org/show_bug.cgi?id=767938
2017-03-16 15:23:01 +11:00
Sebastian Dröge
887e45e6cc avcodecmap: Add mapping for CineForm HD / CFHD codec
https://bugzilla.gnome.org/show_bug.cgi?id=780024
2017-03-14 18:02:23 +02:00
Garima Gaur
14dc964f0e Fix some caps leaks when creating pad templates
https://bugzilla.gnome.org/show_bug.cgi?id=776700
2017-01-02 12:41:20 +00:00
Sebastian Dröge
cfd7503959 avcodecmap: Add mapping for Flash Screen2 codec 2016-12-04 23:39:00 +02:00
Sebastian Dröge
35f9fd9355 avdemux: Disable GIF "demuxer"
It's actually a parser but it a) can only work with the ffmpeg GIF
decoder that is deactivated anyway, and b) it currently causes infinite
linking of avdemux_gif elements with a multiqueue in between in
decodebin.

https://bugzilla.gnome.org/show_bug.cgi?id=775516
2016-12-02 17:06:50 +02:00
Sebastian Dröge
77ad28cd44 avprotocol: Don't use GST_LOG_OBJECT() and friends on an arbitrary struct that is not a GObject
https://bugzilla.gnome.org/show_bug.cgi?id=775516
2016-12-02 14:19:46 +02:00
Thibault Saunier
2ae66e2721 Define plugin license outside the call to PLUGIN_DEFINE
Msvc fails at pre processing it and states that the
the use of "#" is invalid inside a macro.
2016-11-25 13:22:34 -03:00
Thibault Saunier
863f2c7bb1 Properly check if unistd.h is avalaible
And stop providing a meson.h.config as it is not needed (as meson dep
has been bumped to 0.36)
2016-11-25 13:22:34 -03:00
Edward Hervey
9258b8ba53 avcodecmap: Add support for packed 32bit RGBx variants
We can support those, so just add the mapping
2016-11-24 17:15:14 +01:00
Sebastian Dröge
ac4a47bacb av: Enable IVF demuxer (and muxer)
It works and is a quite unimportant format, we should get rid of our
parser to reduce the amount of code to maintain.
2016-11-16 17:06:54 +02:00
Marinus Schraal
06a9a34d6d avdemux: Map artist to artist tag
It was incorrectly mapped to album-artist before.

https://bugzilla.gnome.org/show_bug.cgi?id=774398
2016-11-14 13:03:07 +02:00
Tim-Philipp Müller
b81813d928 avmux: blacklist fifo plugin
Avoids criticals in gst-inspect-1.0 -a
2016-11-12 15:21:59 +00:00
leigh123linux@googlemail.com
3c3be3125f avvidenc/dec: Disable more hardware encoder/decoders
Important when using a system ffmpeg/libav.

https://bugzilla.gnome.org/show_bug.cgi?id=774278
2016-11-12 10:33:51 +02:00
Sebastian Dröge
88da0fb956 avviddec: Fix comment to say interlace-mode instead of interlaced-mode 2016-11-04 16:27:59 +02:00
Sebastian Dröge
2c38c99a86 avcodecmap: It's interlace-mode, not interlaced-mode 2016-11-04 16:22:07 +02:00
Sebastian Dröge
7f39f69c7c avcodecmap: Add variant to the ProRes caps
https://bugzilla.gnome.org/show_bug.cgi?id=769048
2016-11-01 20:42:52 +02:00
Sebastian Dröge
5e61a8999f avviddec: Use interlaced-mode=interleaved and set field-order if possible
https://bugzilla.gnome.org/show_bug.cgi?id=771376
2016-11-01 20:42:52 +02:00
Sebastian Dröge
d2e65754b3 avcodecmap: Configure field order in the context if we can
https://bugzilla.gnome.org/show_bug.cgi?id=771376
2016-11-01 20:42:52 +02:00
Sebastian Dröge
fb9fea0223 avvidenc: Set colorimetry information in the context if known
https://bugzilla.gnome.org/show_bug.cgi?id=750882
2016-11-01 20:42:52 +02:00
Sebastian Dröge
5b40fb965b avviddec: Set colorimetry information from the context if known
But only if upstream did not provide that information.

https://bugzilla.gnome.org/show_bug.cgi?id=750882
2016-11-01 20:42:52 +02:00
Tim-Philipp Müller
efe5797041 avcodecmap: Add mapping for Opus audio decoder
Make avdec_opus work.

https://bugzilla.gnome.org/show_bug.cgi?id=773672
2016-11-01 19:05:37 +02:00
Sebastian Dröge
f1bca3115e avaudenc/dec: Allow compilation against ffmpeg < 3.2 again 2016-10-26 23:29:40 +03:00
Sebastian Dröge
440482475f avaudenc/dec: Ignore S64BE/LE pseudo-codecs 2016-10-26 23:20:52 +03:00
Sebastian Dröge
e3558d4d07 avviddec: Use enum instead of magic numbers for the chroma siting values 2016-09-29 12:01:59 +03:00
Sebastian Dröge
8443af343e av: Cast AVContext::bit_rate to a guint before passing to varargs functions
We expect it to be a int or uint, however it changed the type to a
int64_t in later versions of ffmpeg. As such it would be passed as a 64
bit value to varargs functions, while the consumer of the arguments
assumes only 32 bits. This causes crashes.

https://bugzilla.gnome.org/show_bug.cgi?id=771092
2016-09-14 11:20:48 +02:00
Thibault Saunier
f6c31d1cb6 build: Do not link plugin against lzma and bz2 if using system install
And bump version to 1.9.2
2016-09-05 12:44:37 -03:00
Iain Lane
f5f32986b6 Only use AV_CODEC_ID_WRAPPED_AVFRAME on new enough libavcodecs
https://bugzilla.gnome.org/show_bug.cgi?id=770753
2016-09-03 14:20:26 +03:00
Thibault Saunier
e4b51a81cb Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

We only support building with ffmpeg installed system wide and not as
subproject yet.
2016-08-29 09:56:18 -03:00
Thibault Saunier
80924aab15 Use the new API to post flow ERROR messages on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=770158
2016-08-26 19:23:32 -03:00
Tim-Philipp Müller
e5ceb287d3 libav: fix confusing 'insane framerate' debug log message
Usually means no framerate / variable framerate. Also the
fraction arguments were swapped.
2016-08-20 10:54:07 +01:00
Edward Hervey
8b374b3f82 avvidec: Ensure skipping strategy gets properly reset
When switching playback modes, like from TRICKMODE or TRICKMODE_KEY_UNITS
back to regular playback, we need to make sure we set the skip mode
back to the default setting.

While this field would be properly reset when we *have* feedback from
downstream (i.e. diff != G_MAXINT64), it would not be reset during
the initial phase (i.e. when the decoder hasn't pushed a buffer yet,
and therefore the sink hasn't sent back QoS information).

This avoids dropping plenty of frames when going back to regular playback
2016-08-04 10:45:14 +02:00
Sebastian Dröge
3e93ad1bcd libav: Ignore more quasi-codecs 2016-07-22 14:54:21 +03:00
Sebastian Dröge
5f4bd291c1 libav: Ignore VAAPI decoders and VAAPI/nvenc encoders
These can show up when having a build against a system version of ffmpeg.
2016-07-22 14:42:59 +03:00
Sebastian Dröge
0bdceaad8a avaudenc: Use gst_caps_fixate() instead of gst_caps_truncate()
Just truncating might not be enough.
2016-07-05 20:16:45 +03:00
Sebastian Dröge
832b42301d avaudenc: Create caps from the codec context after it is opened
We won't get codec_data and various other information otherwise.
2016-07-05 20:16:09 +03:00
Sebastian Dröge
a5ac55c4a0 avvidenc: Create caps from the codec context after it is opened
We won't get codec_data and various other information otherwise.
2016-07-05 20:15:28 +03:00
Edward Hervey
e36fa30c15 avvidec: Don't set bogus latency
We might have cases where the framerate is not known (0/1).
2016-05-14 12:09:06 +02:00
Edward Hervey
878d32ad38 avvidec: Report the latency once we're fully configured
Several decoders will only be able to report a real latency (has_b_frames)
once they're actually initialized (i.e. when they return their first frame).

Doing it earlier (in set_format) doesn't guarantee that the AVCodecContext
has_b_frames has been properly initialized.

https://bugzilla.gnome.org/show_bug.cgi?id=766362
2016-05-13 09:52:29 +02:00
Sebastian Dröge
445a301844 avcodecmap: Add mapping for G729 caps
https://bugzilla.gnome.org/show_bug.cgi?id=766333
2016-05-13 10:27:38 +03:00
Sebastian Dröge
3fb49b6053 avauddec: Finish frames if they are header buffers only and don't produce any output
Otherwise we will consider them as one frame of raw audio that is still
pending, and shift all timestamps by the amount of time spent with header
buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=765797
2016-04-29 13:06:07 +03:00
Sebastian Dröge
00ebf95e08 avauddec: If decoding a frame failed, skip it
Otherwise the next successfully decoded frame will get its timestamp and we
will slowly let a/v sync drift apart.

https://bugzilla.gnome.org/show_bug.cgi?id=765797
2016-04-29 12:55:19 +03:00
Sebastian Dröge
151cd32a10 avaudenc: Set all required fields in the AVFrame
Various functions in libavcodec need them, like the format, sample rate, etc.
and just having them in the context is not enough.

This fixes draining for codecs like MP2 that require a fixed frame size and
require libav to pad the last frame if required.
2016-04-28 18:43:37 +03:00
Sebastian Dröge
2027188c34 avcfg: Use av_strdup() instead of g_strdup() for strings owned by ffmpeg
It has its own allocator that depending on the configuration is incompatible
with GLib's and just causes a segmentation fault. Like on Windows.

https://bugzilla.gnome.org/show_bug.cgi?id=760266
2016-04-25 18:39:54 +03:00
Sebastian Dröge
ae3a80eec7 avdeinterlace: Register all filters and only disable all except for yadif during compilation
Otherwise avdeinterlace won't find any filters, and we only use yadif in
there.

https://bugzilla.gnome.org/show_bug.cgi?id=765319
2016-04-20 15:27:45 +03:00
Víctor Manuel Jáquez Leal
1af733a636 avvid{dec,enc}: remove dead gobject macros
The GObject macros either for GstFFMpegVidDec and GstFFMpegVidEnc can
break the compilation because they are not GTypes, since each av video
elements are registered in runtime.

https://bugzilla.gnome.org/show_bug.cgi?id=764162
2016-03-24 18:36:22 +01:00
Vineeth TM
8603ff7596 libav: use new gst_element_class_add_static_pad_template()
https://bugzilla.gnome.org/show_bug.cgi?id=763084
2016-03-24 14:53:51 +02:00
Sebastian Dröge
34fe6af6da avcodecmap: Only set the bitrate if we actually got it from the caps
Otherwise we set a random value from the stack as bitrate. The default (0)
is a better choice and doesn't upset valgrind.
2016-03-11 15:44:16 +02:00
Sebastian Dröge
20586e9f2d avdeinterlace: Don't assume that get_current_caps() returns non-NULL caps after has_current_caps()
Remove calls to gst_pad_has_current_caps() which then go on to call
gst_pad_get_current_caps() as the caps can go to NULL in between. Instead just
use gst_pad_get_current_caps() and check for NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=759539
2016-02-23 18:19:18 +02:00
Tim-Philipp Müller
9e00a37d0e Don't use exported but undeclared core debug category symbols
It's not right and won't work on Windows with MSVC.
2016-02-20 12:59:38 +00:00
Edward Hervey
e3cf542215 avcfg: rc-min-rate and rc-max-rate are now 64bit integers
Switch the gobject properties and internal handling to support that
2016-02-16 16:43:23 +01:00
Sebastian Dröge
55fd9e3623 avvidenc: Set width/height and format in the AVFrame we pass to the encoder API 2016-02-16 09:13:23 +02:00
Sebastian Dröge
3f41aaff30 avaudenc: Also use av_free() instead of g_free() 2016-01-25 20:13:10 +01:00
Sebastian Dröge
a7d9d448bd avaudenc: Use av_malloc() instead of GLib malloc() wrappers for memory freed by ffmpeg
It has its own allocator that is not necessarily doing the same as malloc and
will then usually crash. E.g. on Windows or when memalign() is available.
2016-01-25 20:08:11 +01:00
Edward Hervey
da335a0ea3 avvidec: Bring mpeg video decoders up to PRIMARY rank
We should have done that ages ago ...

https://bugzilla.gnome.org/show_bug.cgi?id=574461
2016-01-21 17:35:51 +01:00
Sebastian Dröge
6e18a221a0 avviddec: Use AVFrame API instead of deprecated AVPicture API 2016-01-20 10:31:40 +02:00
Sebastian Dröge
4e0b05bf7f av: Use av_image_get_buffer_size() instead of deprecated avpicture_get_size() 2016-01-19 09:42:47 +02:00
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
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
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
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
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
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
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
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
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