Commit graph

4813 commits

Author SHA1 Message Date
Stefan Sauer
7986a8ed3d audio: don't deref NULL
gst_buffer_copy_region() can return NULL when the buffer meta-data is invalid.

See https://bugzilla.gnome.org/show_bug.cgi?id=772200
2016-10-20 15:42:50 +02:00
Havard Graff
a32b25db6a audioencoder: Error-handling for pushing headers
https://bugzilla.gnome.org/show_bug.cgi?id=773105
2016-10-20 14:12:53 +03:00
Stian Selnes
92392a4733 videodecoder: Default caps sets format I420
Also the format must be fixed on the default raw caps. If not
gst_video_info_from_caps() will fail and
gst_video_decoder_negotiate_default_caps() return FALSE.

The test simulates the use case where a gap event is received before
the first buffer causing the decoder to fall back to the default caps.

https://bugzilla.gnome.org/show_bug.cgi?id=773103
2016-10-20 14:11:48 +03:00
Havard Graff
63c1f4aa33 audioencoder: Plug buffer-leak
https://bugzilla.gnome.org/show_bug.cgi?id=773107
2016-10-20 14:09:49 +03:00
Stefan Sauer
409534f242 audio: fix doc string again.
There was a second '*' at the start of the line. Reword + reformat to make it
obvious.
2016-10-17 09:47:54 +02:00
Nirbheek Chauhan
69abe1de13 meson: Add missing audio-enumtypes.h dep in audio-resampler static libs
Seen on the Jenkins CI:

FAILED: subprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta/audio-resampler-x86-sse41.c.o
ccache cc  '-Isubprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta' '-fdiagnostics-color=always' '-I../subprojects/gst-plugins-base/gst-libs/gst/audio' '-Isubprojects/gst-plugins-base/gst-libs/gst/audio' '-Isubprojects/gst-plugins-base/.' '-I../subprojects/gst-plugins-base/.' '-Isubprojects/gst-plugins-base/gst-libs' '-I../subprojects/gst-plugins-base/gst-libs' '-Isubprojects/gstreamer/libs' '-I../subprojects/gstreamer/libs' '-Isubprojects/gstreamer/.' '-I../subprojects/gstreamer/.' '-pipe' '-Wall' '-Winvalid-pch' '-DHAVE_CONFIG_H' '-msse4.1' '-fPIC' '-O0' '-g' '-fPIC' '-I/usr/include/glib-2.0' '-I/usr/lib/glib-2.0/include' '-pthread' '-Isubprojects/gstreamer/gst' '-MMD' '-MQ' 'subprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta/audio-resampler-x86-sse41.c.o' '-MF' 'subprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta/audio-resampler-x86-sse41.c.o.d' -o 'subprojects/gst-plugins-base/gst-libs/gst/audio/audio_resampler_sse41@sta/audio-resampler-x86-sse41.c.o' -c ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-x86-sse41.c
In file included from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler.h:24:0,
                 from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-private.h:23,
                 from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-macros.h:25,
                 from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-x86-sse41.h:23,
                 from ../subprojects/gst-plugins-base/gst-libs/gst/audio/audio-resampler-x86-sse41.c:24:
../subprojects/gst-plugins-base/gst-libs/gst/audio/audio.h:26:39: fatal error: gst/audio/audio-enumtypes.h: No such file or directory
 #include <gst/audio/audio-enumtypes.h>
                                       ^
compilation terminated.
2016-10-15 21:48:39 +05:30
Thibault Saunier
558172d418 meson: Make use of new environment object and set plugin path to builddir
Workaround source_root being the root directory of all projects
in the subproject case.
Remove now unneeded getpluginsdir and define c++ tests in the same loop.

Bump meson requirement to 0.35
2016-10-14 17:37:16 +02:00
Stefan Sauer
86d18fa9ff audio: fix typo in doc string 2016-10-14 14:21:52 +02:00
Sebastian Dröge
a7b75cb1cc video-color: Mark some function arguments as const
https://bugzilla.gnome.org/show_bug.cgi?id=771376
2016-10-03 20:08:17 +03:00
Arun Raghavan
87905cc48b meson: Enable SSE intrinsics in audio-resampler
This files need to be built with the specific C flags for the
corresponding processor optimisations.
2016-10-03 11:01:36 +05:30
Arun Raghavan
4de66632d7 meson: Enable Orc in build
Top-level meson.build code updated from gst-plugins-good.
2016-10-03 11:01:24 +05:30
Arun Raghavan
20ba0299cc audio-resampler: Add a missing header to noinst_HEADERS 2016-09-29 19:55:45 +05:30
Arun Raghavan
a1ae17ef69 audiorsample: Fix build on 32-bit x86
Turns out _mm_cvtsi128_si64() isn't available on 32-bit, so only build
SSE 4.1 optimisations on x86-64 for now.
2016-09-29 19:45:16 +05:30
Arun Raghavan
4b5f78337a audioresample: Separate out CFLAGS used for SSE* code
This makes sure that we only build files that need explicit SIMD support
with the relevant CFLAGS. This allows the rest of the code to be built
without, and specific SSE* code is only called after runtime checks for
CPU features.

https://bugzilla.gnome.org/show_bug.cgi?id=729276
2016-09-29 18:37:08 +05:30
Arun Raghavan
f4cba79063 audioresample: Fix some gobject introspection warnings 2016-09-28 19:09:26 +05:30
Wim Taymans
7a02e9676f video-scaler: take number of bits into account when copying
Copy twice the amount of pixels for 16 bits formats.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=747225
2016-09-22 16:17:33 +02:00
Nicolas Dufresne
1852e7b88a doc: Add missing map flag to gst_video_frame_map()
Add missing map flag, and also add unmap call.
2016-09-19 11:27:10 -04:00
Víctor Manuel Jáquez Leal
dcfc69ab1d videooverlaycomposition: document required map flags
Fix documentation for gst_video_overlay_composition_blend(). The video frame
needs to be mapped with GST_MAP_READWRITE flag.

https://bugzilla.gnome.org/show_bug.cgi?id=771382
2016-09-14 11:17:25 +02:00
Jonathan Matthew
7b8aa8cf7e pbutils: store missing-plugin structure in current_info->misc again
This allows gst_discoverer_info_get_misc to work again, until it
finally gets removed.

https://bugzilla.gnome.org/show_bug.cgi?id=770643
2016-09-04 16:48:40 +01:00
Jan Schmidt
47cb25a1f8 video-frame: Expand the range of caps for extended buffer flags
The video buffer flags can be applied to encoded video streams,
such as video/x-h264 marked up by a demuxer or parser.
2016-09-01 22:48:40 +10:00
Havard Graff
4b854b3440 video-frame: GST_VIDEO_BUFFER_FLAG are only valid for video/x-raw caps
https://bugzilla.gnome.org/show_bug.cgi?id=769771
2016-09-01 13:05:47 +03:00
Havard Graff
c726e0ab6d rtpbuffer: Add buffer flag RETRANSMISSION
Useful for elements to know if a buffer is a retransmitted RTP packet.

https://bugzilla.gnome.org/show_bug.cgi?id=769771
2016-09-01 13:05:47 +03:00
Thibault Saunier
bc6aae6ca7 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:24 -03:00
Tim-Philipp Müller
45eee84140 meson: update for new files in video lib 2016-08-25 12:19:52 +01:00
Xabier Rodriguez Calvar
0341f04ce1 videodirection: interface for rotation and flip
A GstVideoOrientationMethod enumeration is also provided for the
admitted property values.

https://bugzilla.gnome.org/show_bug.cgi?id=768687
2016-08-25 10:19:13 +03:00
Nirbheek Chauhan
5c4f4ac1bd Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:09:51 +01:00
Vivia Nikolaidou
41c9f0b9dc videotimecode: Fix false positive coverity issues
They are false positive overflows, because coverity doesn't realize that
hours <= 24, minutes < 60 and seconds < 60 in all functions. Also casting the
number 60 (seconds in minute, minutes in hour) to guint64 for the
calculations, in order to avoid overflowing once we allow more than 24-hour
timecodes.

CIDs #1371459, #1371458
2016-08-19 15:57:01 +03:00
Nirbheek Chauhan
a276fd45b8 gstfft: Use stdint.h instead of _stdint.h
_stdint.h is generated by Autotools and we don't really need it.
stdint.h is now available on all supported platforms.
This really only makes a difference for MSVC, which has it starting from
Visual Studio 2015.
2016-08-19 12:12:31 +01:00
Wim Taymans
38622ee1e8 fdmemory: add flag to avoid close of the fd
Add GST_FD_MEMORY_FLAG_DONT_CLOSE to avoid closing the fd when the
memory is freed. When you can guarantee the lifetime of the fd is
longer than the memory, this can save a dup() call.
2016-08-19 09:27:01 +02:00
Vivia Nikolaidou
70149451ea videotimecode: Fix various coverity issues
Most of them are overflow related and false positives, but coverity can't know
that these can't overflow without us giving it more information. Add some
assertions for this.

One was an actual issue with flags comparison.

CIDs #1369051, #1369050, #1369049, #1369048, #1369045
2016-08-17 13:05:26 +03:00
Vivia Nikolaidou
8d8384f20a videometa: Added video time code meta
It attaches a GstVideoTimeCodeMeta (SMPTE timecode) as metadata to a buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 18:59:48 +03:00
Vivia Nikolaidou
ab35d7394e videotimecode: Added support for SMPTE time code metadata
Can be attached as GstMeta into a video frame.

https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 18:59:40 +03:00
Carlos Rafael Giani
9adaeb0a71 riff: Remove sample rate and channel count boundaries in caps
WAV is too generic to impose more-or-less arbitrary boundaries on the
sample rate and channel count caps. For example, there are 384 kHz WAV
files. Another example: it is in theory possible that somebody puts DSD
data into a WAV file, which will then have a sample rate of ~2.8 MHz.

For this reason, get rid of the rate and channel caps unless they are
fixed values. Downstream anyway usually knows the limitations better.

https://bugzilla.gnome.org/show_bug.cgi?id=761514
2016-08-02 15:25:53 +03:00
Sreerenj Balachandran
e5a67d71f7 pbutils: Add more h264 scalable profiles
Adding Scalable Constrained High (G.10.1.2.1) and
Scalable High Intra(G.10.1.3) profiles to the profile list

https://bugzilla.gnome.org/show_bug.cgi?id=769303
2016-08-02 14:25:57 +03:00
Sebastian Dröge
69f90adbaf rtpbuffer: Add some const qualifiers
gst_rtp_buffer_add_extension_onebyte_header() and
gst_rtp_buffer_add_extension_twobytes_header() can have a const argument for
the actual extension data.
2016-07-26 17:46:38 +03:00
Michael Olbrich
44da322083 audioclock: use GST_STIME_FORMAT for the correct argument
GST_STIME_ARGS is used for time_offset not for last_time.
This fixes the format string accordingly.

https://bugzilla.gnome.org/show_bug.cgi?id=768990
2016-07-20 12:28:54 +01:00
Joan Pau Beltran
c6722c06a0 appsink: add _pull_sample/preroll() variants with timeout
The _pull_sample() and _pull_preroll() functions block
until a sample is available, EOS happens or the pipeline
is shut down (returning NULL in the last two cases).

This adds _try_pull_sample() and _try_pull_preroll()
functions with a timeout argument to specify the maximum
amount of time to wait for a new sample.

To avoid code duplication, wait forever if the timeout is
GST_CLOCK_TIME_NONE and use that to implement
_pull_sample/_pull_preroll with the original behavior.

Add also corresponding action signals "try-pull-sample"
and "try-pull-preroll".

https://bugzilla.gnome.org/show_bug.cgi?id=768852
2016-07-18 16:55:16 +01:00
Tim-Philipp Müller
a80c546628 rtp: rtpbasedepayload: simplify code
Remove unnecessary helper struct for callbacks. The bclass
member of the helper struct was not used, so we can just
remove it and the GET_CLASS() call and simplify the whole
affair by passing the depayloader directly to the callback.
2016-07-15 19:51:20 +01:00
Xabier Rodriguez Calvar
9f594d1562 videoorientation: Use G_DEFINE_INTERFACE instead of a manually written get_type()
https://bugzilla.gnome.org/show_bug.cgi?id=768687
2016-07-12 09:05:32 +03:00
Sebastian Dröge
02a88077fc video: Fix some compiler warnings for out-of-range enum values
https://bugzilla.gnome.org/show_bug.cgi?id=767816
2016-07-12 00:14:13 +03:00
Seungha Yang
50f74daa2f appsrc: Remove trailing whitespace
https://bugzilla.gnome.org/show_bug.cgi?id=768510
2016-07-11 09:54:11 +03:00
Sebastian Dröge
48324cab38 encoding-profile: Remove some more fields from the caps when creating from discoverer info
parsed, framed, stream-format and alignment are only relevant for parsers and
should not matter here. We still want to be able to use an encoder that can
only output byte-stream if the input was avc.

https://bugzilla.gnome.org/show_bug.cgi?id=768566
2016-07-08 16:44:18 +03:00
Sebastian Dröge
0e7cdee6c8 missing-plugins: Remove some other fields when cleaning up caps
Caps are cleaned up for missing plugins, and for creating encoding profiles
and caps descriptions.

Fields like streamheader, parsed, framed, stream-format and alignment are not
relevant here. The last ones all because a parser will take care of them.

https://bugzilla.gnome.org/show_bug.cgi?id=768566
2016-07-08 16:41:12 +03:00
Sebastian Dröge
d31f958d17 pbutils: Mark private functions as G_GNUC_INTERNAL 2016-07-08 15:44:26 +03:00
Sergio Torres Soldado
7960bc0380 rtspconnection: Fix potential deadlock caused by blocking read forever
Reset the connection "may_cancel" property to avoid a potential deadlock
if there is no data to read and the socket stays blocked forever.

https://bugzilla.gnome.org/show_bug.cgi?id=768249
2016-07-07 19:15:18 +03:00
Wim Taymans
9144a787df video-converter: fix compilation on big-endian 2016-07-07 17:29:34 +02:00
Edward Hervey
cfc36ba586 videodecoder: More trickmode fix
We need to take into account the input segment flags to know whether
we should drain the decoder after a new keyframe in trick mode.

Otherwise we would have to wait for the next frame to be outputted (and
the segment to be activated) which ... well ... kind of beats the whole
point of this draining :)
2016-07-07 17:12:31 +02:00
Sebastian Dröge
61f59857a7 audio: Ship audio-resampler-neon.h 2016-07-07 00:27:18 +03:00
Sebastian Dröge
08f993d090 Release 1.9.1 2016-07-06 13:06:06 +03:00
Philippe Normand
6338146c06 videodecoder: Take stream lock one time only on drain
When the drain is triggered from the chain function the lock is already
taken so there is no need to take it one more time.

https://bugzilla.gnome.org/show_bug.cgi?id=767641
2016-07-05 19:38:40 +03:00