platform/upstream/gstreamer.git
8 years agolibav: Update to ffmpeg n3.0.2
Sebastian Dröge [Tue, 3 May 2016 16:04:06 +0000 (19:04 +0300)]
libav: Update to ffmpeg n3.0.2

8 years agoavauddec: Finish frames if they are header buffers only and don't produce any output
Sebastian Dröge [Fri, 29 Apr 2016 10:06:07 +0000 (13:06 +0300)]
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

8 years agoavauddec: If decoding a frame failed, skip it
Sebastian Dröge [Fri, 29 Apr 2016 09:55:19 +0000 (12:55 +0300)]
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

8 years agoavaudenc: Set all required fields in the AVFrame
Sebastian Dröge [Thu, 28 Apr 2016 15:43:37 +0000 (18:43 +0300)]
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.

8 years agoavcfg: Use av_strdup() instead of g_strdup() for strings owned by ffmpeg
Sebastian Dröge [Mon, 25 Apr 2016 15:39:54 +0000 (18:39 +0300)]
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

8 years agoavdeinterlace: Register all filters and only disable all except for yadif during...
Sebastian Dröge [Wed, 20 Apr 2016 12:27:45 +0000 (15:27 +0300)]
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

8 years agolibav: Update to n3.0.1
Sebastian Dröge [Fri, 15 Apr 2016 09:51:07 +0000 (12:51 +0300)]
libav: Update to n3.0.1

8 years agoAutomatic update of common submodule
Julien Isorce [Thu, 14 Apr 2016 09:04:23 +0000 (10:04 +0100)]
Automatic update of common submodule

From 6f2d209 to ac2f647

8 years agoavvid{dec,enc}: remove dead gobject macros
Víctor Manuel Jáquez Leal [Thu, 24 Mar 2016 17:31:27 +0000 (18:31 +0100)]
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

8 years agolibav: use new gst_element_class_add_static_pad_template()
Vineeth TM [Fri, 4 Mar 2016 07:42:03 +0000 (16:42 +0900)]
libav: use new gst_element_class_add_static_pad_template()

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

8 years agoBack to development
Sebastian Dröge [Thu, 24 Mar 2016 11:33:33 +0000 (13:33 +0200)]
Back to development

8 years agoRelease 1.8.0
Sebastian Dröge [Thu, 24 Mar 2016 10:55:15 +0000 (12:55 +0200)]
Release 1.8.0

8 years agoconfigure: Restore CPPFLAGS after the last check
Egor Zaharov [Sun, 20 Mar 2016 13:43:00 +0000 (13:43 +0000)]
configure: Restore CPPFLAGS after the last check

The next checks can also set CPPFLAGS.

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

8 years agoRelease 1.7.91
Sebastian Dröge [Tue, 15 Mar 2016 10:23:48 +0000 (12:23 +0200)]
Release 1.7.91

8 years agoavcodecmap: Only set the bitrate if we actually got it from the caps
Sebastian Dröge [Fri, 11 Mar 2016 13:44:16 +0000 (15:44 +0200)]
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.

8 years agoRelease 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 16:51:22 +0000 (18:51 +0200)]
Release 1.7.90

8 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 26 Feb 2016 10:42:36 +0000 (12:42 +0200)]
Automatic update of common submodule

From b64f03f to 6f2d209

8 years agoavdeinterlace: Don't assume that get_current_caps() returns non-NULL caps after has_c...
Sebastian Dröge [Tue, 23 Feb 2016 16:19:18 +0000 (18:19 +0200)]
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

8 years agowin32: remove outdated build cruft
Tim-Philipp Müller [Sun, 21 Feb 2016 10:40:02 +0000 (10:40 +0000)]
win32: remove outdated build cruft

This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.

8 years agoDon't use exported but undeclared core debug category symbols
Tim-Philipp Müller [Sat, 20 Feb 2016 12:59:38 +0000 (12:59 +0000)]
Don't use exported but undeclared core debug category symbols

It's not right and won't work on Windows with MSVC.

8 years agoBack to development
Sebastian Dröge [Fri, 19 Feb 2016 10:38:37 +0000 (12:38 +0200)]
Back to development

8 years agoRelease 1.7.2
Sebastian Dröge [Fri, 19 Feb 2016 10:00:24 +0000 (12:00 +0200)]
Release 1.7.2

8 years agoavcfg: rc-min-rate and rc-max-rate are now 64bit integers
Edward Hervey [Tue, 16 Feb 2016 15:32:38 +0000 (16:32 +0100)]
avcfg: rc-min-rate and rc-max-rate are now 64bit integers

Switch the gobject properties and internal handling to support that

8 years agoavvidenc: Set width/height and format in the AVFrame we pass to the encoder API
Sebastian Dröge [Tue, 16 Feb 2016 07:11:08 +0000 (09:11 +0200)]
avvidenc: Set width/height and format in the AVFrame we pass to the encoder API

8 years agodocs: Update docs to not have unstaged changes after build again
Sebastian Dröge [Tue, 16 Feb 2016 07:02:21 +0000 (09:02 +0200)]
docs: Update docs to not have unstaged changes after build again

There are some new codec IDs that we probably would like to map too, e.g.
Dirac/VC2 and Cineform HD.

8 years agolibav: Update to n3.0
Sebastian Dröge [Mon, 15 Feb 2016 15:06:05 +0000 (17:06 +0200)]
libav: Update to n3.0

8 years agoAutomatic update of common submodule
Thiago Santos [Fri, 5 Feb 2016 21:10:53 +0000 (18:10 -0300)]
Automatic update of common submodule

From 86e4663 to b64f03f

8 years agoavaudenc: Also use av_free() instead of g_free()
Sebastian Dröge [Mon, 25 Jan 2016 19:13:10 +0000 (20:13 +0100)]
avaudenc: Also use av_free() instead of g_free()

8 years agoavaudenc: Use av_malloc() instead of GLib malloc() wrappers for memory freed by ffmpeg
Sebastian Dröge [Mon, 25 Jan 2016 19:08:11 +0000 (20:08 +0100)]
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.

8 years agoavvidec: Bring mpeg video decoders up to PRIMARY rank
Edward Hervey [Thu, 21 Jan 2016 16:35:51 +0000 (17:35 +0100)]
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

8 years agolibav: Ensure to link with -lavfilter
Sebastian Dröge [Thu, 21 Jan 2016 09:41:45 +0000 (11:41 +0200)]
libav: Ensure to link with -lavfilter

8 years agoavviddec: Use AVFrame API instead of deprecated AVPicture API
Sebastian Dröge [Wed, 20 Jan 2016 08:31:40 +0000 (10:31 +0200)]
avviddec: Use AVFrame API instead of deprecated AVPicture API

8 years agoav: Use av_image_get_buffer_size() instead of deprecated avpicture_get_size()
Sebastian Dröge [Tue, 19 Jan 2016 07:42:47 +0000 (09:42 +0200)]
av: Use av_image_get_buffer_size() instead of deprecated avpicture_get_size()

8 years agoavdemux: Use av_packet_unref() instead of deprecated av_free_packet()
Sebastian Dröge [Tue, 19 Jan 2016 07:39:00 +0000 (09:39 +0200)]
avdemux: Use av_packet_unref() instead of deprecated av_free_packet()

8 years agoavvidenc: Use AVPacket.flags for detecting keyframes
Sebastian Dröge [Tue, 19 Jan 2016 07:36:01 +0000 (09:36 +0200)]
avvidenc: Use AVPacket.flags for detecting keyframes

AVCodec.coded_frame is deprecated and will disappear at some point
in the future.

8 years agoavdeinterlace: Chain up to parent class' dispose()
Sebastian Dröge [Sat, 16 Jan 2016 14:43:16 +0000 (16:43 +0200)]
avdeinterlace: Chain up to parent class' dispose()

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

8 years agolibav: Bitrate field changed from int to int64_t, fix compiler warnings
Sebastian Dröge [Sat, 16 Jan 2016 14:40:52 +0000 (16:40 +0200)]
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

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)

9 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
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.