Commit graph

2190 commits

Author SHA1 Message Date
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
2d79bc3a58 libav: Update to n3.1.1 2016-07-26 10:27:22 +03: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
Stefan Sauer
9bc5380f5a Automatic update of common submodule
From f363b32 to f49c55e
2016-07-11 21:15:39 +02:00
Sebastian Dröge
c098043a40 Back to development 2016-07-06 13:51:12 +03:00
Sebastian Dröge
351f65cc35 Release 1.9.1 2016-07-06 13:26:10 +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
Sebastian Dröge
ee5e2bcd6b libav: Disable various other hardware related codecs 2016-07-01 09:29:03 +02:00
Edward Hervey
840de21f05 configure: Disable VAAPI support
We have native plugins (gst-vaapi) for that
2016-07-01 09:25:14 +02:00
Edward Hervey
c8a6a30d43 configure: Disable {audio|video}toolbox support (osx/ios)
We already have native plugins for those
2016-07-01 09:16:41 +02:00
Sebastian Dröge
3e193047a3 libav: Update to ffmpeg n3.1 2016-06-30 23:22:17 +02:00
Nicolas Dufresne
dc6361bdc6 Automatic update of common submodule
From ac2f647 to f363b32
2016-06-21 11:48:33 -04:00
Tim-Philipp Müller
1a4c54a6aa tests: use AM_TESTS_ENVIRONMENT
Needed by new automake test runner.
2016-05-31 20:29:32 +01:00
Sebastian Dröge
aa47e16eec docs: Update for git master 2016-05-15 13:34:11 +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
438d6b3760 libav: Update to ffmpeg n3.0.2 2016-05-03 19:04:06 +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
Sebastian Dröge
9800b1135e libav: Update to n3.0.1 2016-04-15 12:51:21 +03:00
Julien Isorce
8632be0697 Automatic update of common submodule
From 6f2d209 to ac2f647
2016-04-14 10:04:23 +01: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
c441eddd56 Back to development 2016-03-24 13:33:33 +02:00
Sebastian Dröge
2d362cc920 Release 1.8.0 2016-03-24 12:55:15 +02:00
Egor Zaharov
6ca5f88dde configure: Restore CPPFLAGS after the last check
The next checks can also set CPPFLAGS.

https://bugzilla.gnome.org/show_bug.cgi?id=763940
2016-03-21 10:32:14 +02:00
Sebastian Dröge
7a8828f68a Release 1.7.91 2016-03-15 12:23:48 +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
6655aabebc Release 1.7.90 2016-03-01 18:51:22 +02:00
Sebastian Dröge
c22133f2d7 Automatic update of common submodule
From b64f03f to 6f2d209
2016-02-26 12:42:36 +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
4930a1f461 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.
2016-02-21 10:40:02 +00: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
Sebastian Dröge
154a0430fb Back to development 2016-02-19 12:38:37 +02:00
Sebastian Dröge
6c4878b6ab Release 1.7.2 2016-02-19 12:00:24 +02: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
e7d061a2d0 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.
2016-02-16 09:13:16 +02:00
Sebastian Dröge
18cc31ecb8 libav: Update to n3.0 2016-02-15 17:06:05 +02:00
Thiago Santos
81934eaf90 Automatic update of common submodule
From 86e4663 to b64f03f
2016-02-05 18:10:53 -03: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