platform/upstream/gst-libav.git
8 years agolibav: Remove usage of deprecated API
Andreas Cadhalpun [Wed, 4 Nov 2015 20:18:56 +0000 (21:18 +0100)]
libav: Remove usage of deprecated API

https://bugzilla.gnome.org/show_bug.cgi?id=757498

8 years agoavdeinterlace: Port non-deprecated AVFilter API
Andreas Cadhalpun [Wed, 4 Nov 2015 20:16:18 +0000 (21:16 +0100)]
avdeinterlace: Port non-deprecated AVFilter API

https://bugzilla.gnome.org/show_bug.cgi?id=757498

8 years agolibav: Update to ffmpeg n2.8.5
Sebastian Dröge [Sat, 16 Jan 2016 10:09:31 +0000 (11:09 +0100)]
libav: Update to ffmpeg n2.8.5

8 years agoav: canonicalise av plugin name more consistently in more places
Tim-Philipp Müller [Thu, 7 Jan 2016 17:13:29 +0000 (17:13 +0000)]
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

8 years agoBack to development
Sebastian Dröge [Thu, 24 Dec 2015 14:29:11 +0000 (15:29 +0100)]
Back to development

8 years agoRelease 1.7.1
Sebastian Dröge [Thu, 24 Dec 2015 13:49:39 +0000 (14:49 +0100)]
Release 1.7.1

8 years agoavcodecmap: Add special mapping for mono channel layouts
Sebastian Dröge [Thu, 24 Dec 2015 12:06:13 +0000 (13:06 +0100)]
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

8 years agoavviddec: remove realvideo slice_offset handling
Vineeth TM [Fri, 27 Nov 2015 02:16:07 +0000 (11:16 +0900)]
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

8 years agolibav: Update to ffmpeg n2.8.4
Sebastian Dröge [Mon, 21 Dec 2015 11:41:02 +0000 (12:41 +0100)]
libav: Update to ffmpeg n2.8.4

8 years agoconfigure: Use -Bsymbolic-functions if available
Sebastian Dröge [Mon, 21 Dec 2015 11:34:11 +0000 (12:34 +0100)]
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.

8 years agodocs: update to git
Sebastian Dröge [Wed, 16 Dec 2015 08:36:25 +0000 (09:36 +0100)]
docs: update to git

8 years agoAutomatic update of common submodule
Nicolas Dufresne [Mon, 7 Dec 2015 14:11:30 +0000 (09:11 -0500)]
Automatic update of common submodule

From b319909 to 86e4663

8 years agoRequire libav provided by FFmpeg at run-time
Reynaldo H. Verdejo Pinochet [Wed, 2 Dec 2015 20:27:08 +0000 (12:27 -0800)]
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

8 years agoRequire libav provided by FFmpeg at build-time
Reynaldo H. Verdejo Pinochet [Tue, 24 Nov 2015 07:45:38 +0000 (23:45 -0800)]
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

8 years agolibav: Update to n2.8.3
Sebastian Dröge [Tue, 1 Dec 2015 13:12:22 +0000 (15:12 +0200)]
libav: Update to n2.8.3

8 years agoavviddec: Make sure to use a buffer pool with the correct width/height configured...
Sebastian Dröge [Mon, 30 Nov 2015 17:01:41 +0000 (19:01 +0200)]
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

8 years agoavviddec: Fix structure memory leak
Vineeth T M [Mon, 23 Nov 2015 01:31:39 +0000 (10:31 +0900)]
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

8 years agoRemove unnecessary NULL checks before g_free()
Reynaldo H. Verdejo Pinochet [Fri, 20 Nov 2015 18:48:47 +0000 (10:48 -0800)]
Remove unnecessary NULL checks before g_free()

g_free() is NULL-safe

(Includes unrelated formatting change to go through
indent checker commit hook)

8 years agolibav: Update to n2.8.2
Sebastian Dröge [Thu, 12 Nov 2015 09:44:25 +0000 (10:44 +0100)]
libav: Update to n2.8.2

9 years agoavviddec: Don't fallback on allocation failure
Nicolas Dufresne [Sat, 7 Nov 2015 17:11:57 +0000 (12:11 -0500)]
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

9 years agoavvidenc: Fix frame memory leak
Vineeth TM [Mon, 2 Nov 2015 01:00:55 +0000 (10:00 +0900)]
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

9 years agoavdemux: Fix string memory leaks
Vineeth TM [Mon, 2 Nov 2015 01:20:02 +0000 (10:20 +0900)]
avdemux: Fix string memory leaks

https://bugzilla.gnome.org/show_bug.cgi?id=757454

9 years agoavviddec: _drain and _finish need slightly different handling
Mark Nauwelaerts [Mon, 26 Oct 2015 18:54:10 +0000 (19:54 +0100)]
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.

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Wed, 21 Oct 2015 13:37:05 +0000 (14:37 +0100)]
Automatic update of common submodule

From b99800a to b319909

9 years agoUse new GST_ENABLE_EXTRA_CHECKS #define
Sebastian Dröge [Tue, 20 Oct 2015 14:29:42 +0000 (17:29 +0300)]
Use new GST_ENABLE_EXTRA_CHECKS #define

https://bugzilla.gnome.org/show_bug.cgi?id=756870

9 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 21 Oct 2015 11:28:34 +0000 (14:28 +0300)]
Automatic update of common submodule

From 9aed1d7 to b99800a

9 years agoavviddec: Fix bufferpool config double free by taking a copy as needed
Sebastian Dröge [Fri, 16 Oct 2015 15:52:57 +0000 (18:52 +0300)]
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.

9 years agolibav: Update to n2.8.1
Sebastian Dröge [Wed, 14 Oct 2015 07:18:01 +0000 (10:18 +0300)]
libav: Update to n2.8.1

9 years agoavcodecmap: add jpeg2000 decoder mapping
Thiago Santos [Sat, 10 Oct 2015 00:22:12 +0000 (21:22 -0300)]
avcodecmap: add jpeg2000 decoder mapping

Map the 3 possible jpeg2000 caps to JPEG2000 codec id

9 years agoavcodecmap: Don't allocate dummy codec data anymore, it causes crashes nowadays
Sebastian Dröge [Sat, 3 Oct 2015 17:25:35 +0000 (18:25 +0100)]
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

9 years agoavvidenc: Pass the correct user_data to gst_buffer_new_wrapped_full()
Sebastian Dröge [Sat, 3 Oct 2015 17:14:05 +0000 (18:14 +0100)]
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

9 years agolibav: G_CONST_RETURN is deprecated since GLib 2.30
Sebastian Dröge [Fri, 2 Oct 2015 20:02:01 +0000 (23:02 +0300)]
libav: G_CONST_RETURN is deprecated since GLib 2.30

9 years agoAdd configure check for GLib for consistency with other modules
Sebastian Dröge [Fri, 2 Oct 2015 19:26:36 +0000 (22:26 +0300)]
Add configure check for GLib for consistency with other modules

9 years agoavviddec: only free config when pool doesn't take ownership
Luis de Bethencourt [Fri, 2 Oct 2015 10:49:35 +0000 (11:49 +0100)]
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.

9 years agoavviddec: fix memory leak
Luis de Bethencourt [Fri, 28 Aug 2015 14:15:39 +0000 (15:15 +0100)]
avviddec: fix memory leak

Free config before overwriting.

CID #1320708

9 years agoBack to development
Sebastian Dröge [Fri, 25 Sep 2015 21:51:15 +0000 (23:51 +0200)]
Back to development

9 years agoRelease 1.6.0 1.6.0
Sebastian Dröge [Fri, 25 Sep 2015 21:32:21 +0000 (23:32 +0200)]
Release 1.6.0

9 years agoRelease 1.5.91
Sebastian Dröge [Fri, 18 Sep 2015 18:10:32 +0000 (20:10 +0200)]
Release 1.5.91

9 years agoavvidec: increase default alignment to 32 bytes
Tim-Philipp Müller [Fri, 28 Aug 2015 08:38:53 +0000 (09:38 +0100)]
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

9 years agoavvideodec: ensure required mem alignment fixing avdec_h265 crashes with ximagesink...
Tim-Philipp Müller [Fri, 11 Sep 2015 22:19:21 +0000 (23:19 +0100)]
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

9 years agolibav: Update to ffmpeg n2.8
Sebastian Dröge [Sat, 12 Sep 2015 12:06:10 +0000 (14:06 +0200)]
libav: Update to ffmpeg n2.8

https://bugzilla.gnome.org/show_bug.cgi?id=754920

9 years agoavvid/audenc: Set some tags in the output for downstream's info
Jan Schmidt [Wed, 29 Jul 2015 15:24:54 +0000 (01:24 +1000)]
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

9 years agoavviddec: Fix pool reallocation logic
Nicolas Dufresne [Thu, 20 Aug 2015 15:02:11 +0000 (08:02 -0700)]
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

9 years agoRelease 1.5.90
Sebastian Dröge [Wed, 19 Aug 2015 11:12:35 +0000 (14:12 +0300)]
Release 1.5.90

9 years agoaviddec: Re-enable direct rendering
Nicolas Dufresne [Sun, 16 Aug 2015 17:08:16 +0000 (19:08 +0200)]
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

9 years agoavvidenc: use template subset check for accept-caps
Thiago Santos [Mon, 17 Aug 2015 07:36:39 +0000 (04:36 -0300)]
avvidenc: use template subset check for accept-caps

It is faster than doing a query that propagates downstream and
should be enough

9 years agoavaudenc: use pad template caps for accept-caps
Thiago Santos [Mon, 17 Aug 2015 07:35:41 +0000 (04:35 -0300)]
avaudenc: use pad template caps for accept-caps

use template subset check for accept-caps

It is faster than doing a query that propagates downstream and
should be enough

9 years agoavaudenc: remove useless getcaps method
Thiago Santos [Sun, 16 Aug 2015 17:14:27 +0000 (14:14 -0300)]
avaudenc: remove useless getcaps method

It just calls the exact same function as the default handler

9 years agoavvidenc: remove useless getcaps method
Thiago Santos [Sun, 16 Aug 2015 17:13:05 +0000 (14:13 -0300)]
avvidenc: remove useless getcaps method

It just calls the exact same function as the default handler

9 years agoavauddec: let audiodecoder call the default pad query handler
Thiago Santos [Sat, 15 Aug 2015 10:30:26 +0000 (07:30 -0300)]
avauddec: let audiodecoder call the default pad query handler

Avoids repeating the same handling in many decoders

9 years agoavviddec: let videodecoder call the default pad query handler
Thiago Santos [Sat, 15 Aug 2015 10:18:07 +0000 (07:18 -0300)]
avviddec: let videodecoder call the default pad query handler

Avoids repeating the same handling in many decoders

9 years agolibav: Update to n2.7.2
Sebastian Dröge [Sat, 15 Aug 2015 10:51:19 +0000 (12:51 +0200)]
libav: Update to n2.7.2

9 years agoavviddec: use template caps intersection for accept-caps
Thiago Santos [Fri, 14 Aug 2015 11:22:39 +0000 (08:22 -0300)]
avviddec: use template caps intersection for accept-caps

Avoid doing downstream caps queries when accept-caps should just
do a shallow caps check on the element itself

https://bugzilla.gnome.org/show_bug.cgi?id=753623

9 years agoavauddec: use template caps intersection for accept-caps
Thiago Santos [Fri, 14 Aug 2015 11:21:51 +0000 (08:21 -0300)]
avauddec: use template caps intersection for accept-caps

Avoid doing downstream caps queries when accept-caps should just
do a shallow caps check on the element itself

https://bugzilla.gnome.org/show_bug.cgi?id=753623

9 years agoMap ffmpeg metadata to GStreamer tags
Jan Schmidt [Thu, 30 Jul 2015 13:07:39 +0000 (23:07 +1000)]
Map ffmpeg metadata to GStreamer tags

Update to the metadata API ffmpeg has had in
place for a long time now, and reenable output
of GStreamer tags from the demuxer.

https://bugzilla.gnome.org/show_bug.cgi?id=566605

9 years agoavviddec: Remove unused force parameter
Olivier Crête [Tue, 28 Jul 2015 21:54:23 +0000 (17:54 -0400)]
avviddec: Remove unused force parameter

This parameter has been always false for a long time.

9 years agoavviddec: Use caps-like size in get_buffer2()
Olivier Crête [Tue, 4 Aug 2015 01:40:12 +0000 (21:40 -0400)]
avviddec: Use caps-like size in get_buffer2()

The size in the AVFrame in get_buffer2 don't match the output size,
instead they match ffmpeg's memory requirements, so we can't compare
them from the values of the output AVFrame. Those are comparable to
the values in the passed AVCodecContext.

9 years agoavviddec: Reset current_dr on close and when not chosing it
Olivier Crête [Tue, 4 Aug 2015 01:02:37 +0000 (21:02 -0400)]
avviddec: Reset current_dr on close and when not chosing it

https://bugzilla.gnome.org/show_bug.cgi?id=753189

9 years agoavviddec: Disable direct rendering before a frame has been produces
Olivier Crête [Tue, 28 Jul 2015 20:16:10 +0000 (16:16 -0400)]
avviddec: Disable direct rendering before a frame has been produces

ffmpeg doesn't provide the final's image width & height in the get_buffer2()
callback, so it's not possible to create an output state for GstVideoDecoder
at this stage. So only try to do direct rendering if the buffer pool has already
been negotiated based on the final decoded size.

This partially reverts the effects of 2e621f8db

https://bugzilla.gnome.org/show_bug.cgi?id=752802

9 years agoRevert "For static builds, add the ffmpeg library directories to the linker flags"
Sebastian Dröge [Tue, 28 Jul 2015 08:19:52 +0000 (11:19 +0300)]
Revert "For static builds, add the ffmpeg library directories to the linker flags"

This reverts commit ac3437153dc6cb3d82cdda0d1f60ffc5600fdf67.

Doesn't actually make sense as it will put the (uninstalled) library paths
into the installed .la files. How does this all work?

9 years agoFor static builds, add the ffmpeg library directories to the linker flags
Sebastian Dröge [Tue, 28 Jul 2015 08:02:47 +0000 (11:02 +0300)]
For static builds, add the ffmpeg library directories to the linker flags

9 years agoavviddec: Get code out of loop
Olivier Crête [Mon, 27 Jul 2015 22:49:49 +0000 (18:49 -0400)]
avviddec: Get code out of loop

Code was executed only on the first iteration, so just pull it out
of the loop entirely. This makes it clear it has nothing to do with the loop.

9 years agoavviddec: Only create the AVBuffer once the stride is validated
Olivier Crête [Mon, 27 Jul 2015 22:44:53 +0000 (18:44 -0400)]
avviddec: Only create the AVBuffer once the stride is validated

If it is created earlier and the stride is invalid, then the frame
will be freed and it won't be possible to use it in the fallback path.
Not doing this causes a segfault because it will try to use
already freed memory.

9 years agoavviddec: Re-enable direct rendering
Olivier Crête [Mon, 27 Jul 2015 19:29:49 +0000 (15:29 -0400)]
avviddec: Re-enable direct rendering

9 years agoavauddec: Read channels from the channels field
Olivier Crete [Sat, 25 Jul 2015 06:54:20 +0000 (02:54 -0400)]
avauddec: Read channels from the channels field

If there is no layout, just read the channel count from the
channels field.

https://bugzilla.gnome.org/show_bug.cgi?id=752186

9 years agoavviddec: Ignore negotiation error on shutdown
Olivier Crête [Thu, 23 Jul 2015 23:15:43 +0000 (19:15 -0400)]
avviddec: Ignore negotiation error on shutdown

https://bugzilla.gnome.org/show_bug.cgi?id=752800

9 years agoavauddec: Access field using accessors
Olivier Crête [Sat, 25 Jul 2015 07:05:25 +0000 (03:05 -0400)]
avauddec: Access field using accessors

Those fields are documented to only be safe to access using
accessors as their position is not part of the ABI.

9 years agoAdd support for musepack (mpc) sv8 audio
James Smith [Wed, 22 Jul 2015 08:44:27 +0000 (09:44 +0100)]
Add support for musepack (mpc) sv8 audio

https://bugzilla.gnome.org/show_bug.cgi?id=732682

9 years agoavviddec: fix slice_offset memory leak
Vineeth T M [Thu, 16 Jul 2015 09:17:05 +0000 (18:17 +0900)]
avviddec: fix slice_offset memory leak

In case of real videos, slice_offset is being allocated,
but the same is not being freed.

https://bugzilla.gnome.org/show_bug.cgi?id=752404

9 years agoUpdate mailing list in doap file
Tim-Philipp Müller [Thu, 16 Jul 2015 16:24:48 +0000 (17:24 +0100)]
Update mailing list in doap file

9 years agoDisable iconv support to fix Windows build
Sebastian Dröge [Tue, 7 Jul 2015 14:52:49 +0000 (17:52 +0300)]
Disable iconv support to fix Windows build

It's needed only for subtitle charset conversion, and we don't
use the ffmpeg subtitle support anyway.

Also disable d3d11va and dxva2 support, we don't use the hardware
codec support.

9 years agoAutomatic update of common submodule
Stefan Sauer [Fri, 3 Jul 2015 19:59:42 +0000 (21:59 +0200)]
Automatic update of common submodule

From f74b2df to 9aed1d7

9 years agoFix OSX build: Explicitly disable VDA h264 decoder
Heinrich Fink [Thu, 2 Jul 2015 13:44:45 +0000 (15:44 +0200)]
Fix OSX build: Explicitly disable VDA h264 decoder

VideoDecodeAcceleration framework is deprecated in 10.11, and currently
cuases linker errors when compiling on OSX. Oddly, --disable-hwaccels
did not also disable h264_vda already.

https://bugzilla.gnome.org/show_bug.cgi?id=751838

9 years agoMake the LGPL build the default and require --enable-gpl to build a GPL licensed...
Sebastian Dröge [Wed, 1 Jul 2015 20:40:02 +0000 (22:40 +0200)]
Make the LGPL build the default and require --enable-gpl to build a GPL licensed version

9 years agoavmux: Blacklist some subtitle and adaptive streaming muxers
Sebastian Dröge [Wed, 1 Jul 2015 20:11:52 +0000 (22:11 +0200)]
avmux: Blacklist some subtitle and adaptive streaming muxers

9 years agoSwitch from libav v11.4 to ffmpeg n2.7.1
Sebastian Dröge [Tue, 30 Jun 2015 10:05:46 +0000 (12:05 +0200)]
Switch from libav v11.4 to ffmpeg n2.7.1

ffmpeg seems to be the one of the two forks, which is most widely used by
Linux distributions and in general. Also Google is using it for e.g. Chrome
and has engineers working on finding and fixing security issues in it.

https://bugzilla.gnome.org/show_bug.cgi?id=751607

9 years agoavaudenc: Remember how many samples the codec consumed for telling the base class
Sebastian Dröge [Tue, 30 Jun 2015 17:59:54 +0000 (19:59 +0200)]
avaudenc: Remember how many samples the codec consumed for telling the base class

9 years agoavauddec: Ensure input buffers have FF_INPUT_BUFFER_PADDING_SIZE padding, which is...
Thomas Bluemel [Tue, 30 Jun 2015 17:18:53 +0000 (19:18 +0200)]
avauddec: Ensure input buffers have FF_INPUT_BUFFER_PADDING_SIZE padding, which is required by avcodec_decode_audio4 ()

9 years agoavmux: Ignore stream_segment,ssegment muxer that is provided by ffmpeg
Sebastian Dröge [Mon, 29 Jun 2015 11:29:05 +0000 (13:29 +0200)]
avmux: Ignore stream_segment,ssegment muxer that is provided by ffmpeg

The comma confuses our code, e.g. it's not a valid element name or structure
name.

9 years agoavvidenc: Fix compiler warning
Sebastian Dröge [Sun, 28 Jun 2015 14:54:35 +0000 (16:54 +0200)]
avvidenc: Fix compiler warning

gstavvidenc.c: In function 'gst_ffmpegvidenc_flush_buffers':
gstavvidenc.c:733:7: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
       GstFFMpegVidEncClass *oclass =
       ^
cc1: all warnings being treated as errors

9 years agoavvidenc: Set AVFrame flags for interlacing per frame and not in set_format()
Sebastian Dröge [Sun, 28 Jun 2015 14:35:46 +0000 (16:35 +0200)]
avvidenc: Set AVFrame flags for interlacing per frame and not in set_format()

They will get overridden by av_frame_unref() with the defaults.

9 years agoav{aud,vid}enc: Create wrapped output buffers with GST_MEMORY_FLAG_READONLY
Sebastian Dröge [Sun, 28 Jun 2015 14:32:02 +0000 (16:32 +0200)]
av{aud,vid}enc: Create wrapped output buffers with GST_MEMORY_FLAG_READONLY

libav might still have references to the buffers itself and uses a writability
system similar to ours based on reference counts.

9 years agoavvidenc: Properly wrap and free the output AVPackets generated during draining
Sebastian Dröge [Sun, 28 Jun 2015 14:30:54 +0000 (16:30 +0200)]
avvidenc: Properly wrap and free the output AVPackets generated during draining

9 years agoavvidenc: Make sure to keep input data alive until libav is done with it
Sebastian Dröge [Sun, 28 Jun 2015 14:27:52 +0000 (16:27 +0200)]
avvidenc: Make sure to keep input data alive until libav is done with it

9 years agoavaudenc: Make sure to keep input data alive until libav is done with it
Sebastian Dröge [Sun, 28 Jun 2015 14:21:33 +0000 (16:21 +0200)]
avaudenc: Make sure to keep input data alive until libav is done with it

9 years agoav{aud,vid}enc: Stop using deprecated AVFrame APIs
Sebastian Dröge [Sun, 28 Jun 2015 13:37:23 +0000 (15:37 +0200)]
av{aud,vid}enc: Stop using deprecated AVFrame APIs

9 years agoavauddec: Remove custom buffer allocation function
Sebastian Dröge [Sun, 28 Jun 2015 10:33:49 +0000 (12:33 +0200)]
avauddec: Remove custom buffer allocation function

libav always uses planar audio formats nowadays, not much use in
us trying to allocate anything here until we add support for planar
aka non-interleaved audio formats at least in audioconvert.

9 years agoavauddec: Use undeprecated AVFrame API
Sebastian Dröge [Sat, 27 Jun 2015 18:25:36 +0000 (20:25 +0200)]
avauddec: Use undeprecated AVFrame API

9 years agoavviddec: Free frame before the codec is freed
Sebastian Dröge [Sat, 27 Jun 2015 18:25:18 +0000 (20:25 +0200)]
avviddec: Free frame before the codec is freed

Who knows, maybe freeing the frame calls cleanup inside the codec.

9 years agoavviddec: Use undeprecated AVFrame API and unref frame once we're done with it
Sebastian Dröge [Sat, 27 Jun 2015 18:15:20 +0000 (20:15 +0200)]
avviddec: Use undeprecated AVFrame API and unref frame once we're done with it

9 years agoavauddec: Negotiate based on the AVFrame instead of just the AVCodecContext
Sebastian Dröge [Sat, 27 Jun 2015 18:08:46 +0000 (20:08 +0200)]
avauddec: Negotiate based on the AVFrame instead of just the AVCodecContext

9 years agoavviddec: Use the new get_buffer2() API instead of the deprecated APIs
Sebastian Dröge [Fri, 26 Jun 2015 18:38:01 +0000 (20:38 +0200)]
avviddec: Use the new get_buffer2() API instead of the deprecated APIs

And do the frame reference counting by adding AVBufferRefs to the frame.

9 years agoavviddec: Also proxy the data/size pointers for our wrapper AVBufferRef
Sebastian Dröge [Fri, 26 Jun 2015 18:20:14 +0000 (20:20 +0200)]
avviddec: Also proxy the data/size pointers for our wrapper AVBufferRef

9 years agocodecmap: add vp9 mapping
Wim Taymans [Fri, 26 Jun 2015 15:30:25 +0000 (17:30 +0200)]
codecmap: add vp9 mapping

9 years agoavviddec: Wrap the original AVBufferRef in our own buffer for the destroy function
Sebastian Dröge [Fri, 26 Jun 2015 14:50:16 +0000 (16:50 +0200)]
avviddec: Wrap the original AVBufferRef in our own buffer for the destroy function

Just adding a dummy buffer at the very end might not be enough as there
already might be too many buffers.

9 years agoavviddec: libav will already copy the reordered_opaque pointer for us
Sebastian Dröge [Fri, 26 Jun 2015 13:38:38 +0000 (15:38 +0200)]
avviddec: libav will already copy the reordered_opaque pointer for us

If we do it ourselves, it might get the wrong value if our assumptions are
broken by libav at a later time.

9 years agoavviddec: Negotiate based on the AVFrame information, not the context information
Sebastian Dröge [Fri, 26 Jun 2015 13:34:30 +0000 (15:34 +0200)]
avviddec: Negotiate based on the AVFrame information, not the context information

The context contains the information from the latest input frame, we're
however interested in the information from the latest output frame. As we have
to negotiate for the buffer that is about to come next.

This should fix some crashes that happened when both information got out of
sync. If that happens now, we will do fallback allocation until the output
is renegotiated too.

https://bugzilla.gnome.org/show_bug.cgi?id=750865

9 years agoBack to development
Sebastian Dröge [Wed, 24 Jun 2015 22:04:23 +0000 (00:04 +0200)]
Back to development

9 years agoRelease 1.5.2
Sebastian Dröge [Wed, 24 Jun 2015 21:40:51 +0000 (23:40 +0200)]
Release 1.5.2

9 years agoAutomatic update of common submodule
Nicolas Dufresne [Tue, 16 Jun 2015 21:50:03 +0000 (17:50 -0400)]
Automatic update of common submodule

From 6015d26 to f74b2df