Commit graph

2073 commits

Author SHA1 Message Date
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
Sebastian Dröge
9dd7bcc486 libav: Ensure to link with -lavfilter 2016-01-21 11:41:45 +02: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
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