platform/upstream/gst-plugins-base.git
10 years agoresampler: limit max number of taps
Wim Taymans [Fri, 24 Oct 2014 13:42:31 +0000 (15:42 +0200)]
resampler: limit max number of taps

Don't use more taps than the input size.

10 years agovideo-converter: add scaling support
Wim Taymans [Fri, 24 Oct 2014 13:28:22 +0000 (15:28 +0200)]
video-converter: add scaling support

Add scaling support for the video-converter object

10 years agovideo-scaler: add video scaler helper object
Wim Taymans [Fri, 24 Oct 2014 13:25:33 +0000 (15:25 +0200)]
video-scaler: add video scaler helper object

Add a video scaler object build on top of the resampler. It has
implementation to deal with interlaced video as well as horizontal and
vertical scaling functions.

10 years agovideo: add generic resampler
Wim Taymans [Fri, 24 Oct 2014 11:01:12 +0000 (13:01 +0200)]
video: add generic resampler

Add an object that can generate a set of resample filter coefficients.

10 years agovideo-converter: rework the generic converter function
Wim Taymans [Fri, 24 Oct 2014 10:11:43 +0000 (12:11 +0200)]
video-converter: rework the generic converter function

Use a LineCache object to track and process lines between unpack,
upsample, convert, downsample and pack stages. This simplifies the
main core processing function a lot and allows for future additions
easily.

Add support for interlaced formats in chroma up and downsampling.

10 years agovideo-convert: swap src and dest
Wim Taymans [Fri, 24 Oct 2014 09:45:13 +0000 (11:45 +0200)]
video-convert: swap src and dest

It is more natural and consistent with other uses.

10 years agovideo-chroma: fix typo
Wim Taymans [Fri, 24 Oct 2014 09:35:31 +0000 (11:35 +0200)]
video-chroma: fix typo

10 years agoAutomatic update of common submodule
Sebastian Dröge [Mon, 27 Oct 2014 16:56:51 +0000 (17:56 +0100)]
Automatic update of common submodule

From 84d06cd to 7bb2bce

10 years agovideo-blend: segfault when xpos >= video size
Vineeth T M [Thu, 23 Oct 2014 09:11:13 +0000 (14:41 +0530)]
video-blend: segfault when xpos >= video size

When the xpos is given as greater than or equal to the video size,
we get a segfault, due to improper condition.
Hence adding proper conditions.

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

10 years agobasetextoverlay: segfault when xpos >= video size
Vineeth T M [Thu, 23 Oct 2014 09:08:07 +0000 (14:38 +0530)]
basetextoverlay: segfault when xpos >= video size

When the xpos is given as greater than or equal to the video size,
we get a segfault, due to improper condition.
Hence adding proper conditions.

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

10 years agoexamples: add new appsink example to .gitignore
Tim-Philipp Müller [Sun, 26 Oct 2014 21:31:36 +0000 (21:31 +0000)]
examples: add new appsink example to .gitignore

10 years agoRevert "decodebin: fix the autoplugging of parser elements"
Sebastian Dröge [Sun, 26 Oct 2014 10:04:47 +0000 (11:04 +0100)]
Revert "decodebin: fix the autoplugging of parser elements"

This reverts commit 2b0d3927410ae24e6b0fce100bd4ebbbe805a66f.

This breaks cases where an actual second parser is required after the parser,
e.g. to do timestamp corrections.

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

10 years agoRevert "decodebin: Fix locking"
Sebastian Dröge [Sun, 26 Oct 2014 10:04:38 +0000 (11:04 +0100)]
Revert "decodebin: Fix locking"

This reverts commit aa94d5dc9aa6ef381da6b60a67f218117c662958.

10 years agotests: fix playbin-complex test on big endian
Tim-Philipp Müller [Fri, 24 Oct 2014 12:09:42 +0000 (13:09 +0100)]
tests: fix playbin-complex test on big endian

10 years agotests: fix expected GstRTSPTimeRange structure size for ABI test for ppc32
Tim-Philipp Müller [Fri, 24 Oct 2014 12:04:07 +0000 (13:04 +0100)]
tests: fix expected GstRTSPTimeRange structure size for ABI test for ppc32

Also see https://bugzilla.gnome.org/show_bug.cgi?id=695276

10 years agotests: fix adder check on big-endian
Tim-Philipp Müller [Fri, 24 Oct 2014 11:26:40 +0000 (12:26 +0100)]
tests: fix adder check on big-endian

10 years agortsp: use generic marshaller
Tim-Philipp Müller [Fri, 24 Oct 2014 09:17:47 +0000 (10:17 +0100)]
rtsp: use generic marshaller

10 years agobasetextoverlay: Make GstBaseTextOverlay::font-desc readable
Thibault Saunier [Thu, 23 Oct 2014 09:22:35 +0000 (11:22 +0200)]
basetextoverlay: Make GstBaseTextOverlay::font-desc readable

10 years agoAutomatic update of common submodule
Tim-Philipp Müller [Tue, 21 Oct 2014 12:01:16 +0000 (13:01 +0100)]
Automatic update of common submodule

From a8c8939 to 84d06cd

10 years agodecodebin: Fix locking
Sebastian Dröge [Tue, 21 Oct 2014 11:30:27 +0000 (13:30 +0200)]
decodebin: Fix locking

The chain mutex needs to be locked when looking at chain->elements. Move code
around a bit to require only one lock() and unlock().

10 years agodecodebin: fix the autoplugging of parser elements
Sreerenj Balachandran [Tue, 21 Oct 2014 09:58:41 +0000 (12:58 +0300)]
decodebin: fix the autoplugging of parser elements

If there are two parser elements available for the same media format,
then decodebin is autoplugging an extra capsfilter and parser irrespective
of caps and rank. So restrict the decodebin from autoplugging multiple parser
elements back to back in adjacent positions with in a single DecodeChain
for the same media format.

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

10 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 21 Oct 2014 10:57:59 +0000 (12:57 +0200)]
Automatic update of common submodule

From 6e75498 to a8c8939

10 years agovideotestsrc: assertion error
Vineeth T M [Tue, 21 Oct 2014 09:13:30 +0000 (14:43 +0530)]
videotestsrc: assertion error

timestamp_offset is being declared as an int64 variable,
for which the min
value of G_MININT64 is -9223372036854775808
Changing the minimum and maximum limit for the offset variable.

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

10 years agodecodebin: optimize the code a bit by avoiding unnecessary string comparisons
Sreerenj Balachandran [Sun, 12 Oct 2014 21:03:55 +0000 (00:03 +0300)]
decodebin: optimize the code a bit by avoiding unnecessary string comparisons

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

10 years agodecodebin: Fix typo in comment
Sreerenj Balachandran [Sun, 12 Oct 2014 21:03:20 +0000 (00:03 +0300)]
decodebin: Fix typo in comment

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

10 years agortspconnection: call watch notify before freeing any watch resources
Aleix Conchillo Flaqué [Wed, 1 Oct 2014 22:04:09 +0000 (15:04 -0700)]
rtspconnection: call watch notify before freeing any watch resources

This gives control to the notify function allowing it to finish other
watch related functionality.

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

10 years agoappsink: Fix gst_app_sink_pull() docs to transfer full for the return value
Sebastian Dröge [Mon, 20 Oct 2014 13:31:29 +0000 (15:31 +0200)]
appsink: Fix gst_app_sink_pull() docs to transfer full for the return value

Also we get a GstSample, not a GstBuffer here.

10 years agotypefind: use gslice for typefine data
Stefan Sauer [Fri, 17 Oct 2014 10:10:44 +0000 (12:10 +0200)]
typefind: use gslice for typefine data

Also use our free function in the failure case.

10 years agoencodebin: fix some leaks in error code path
Tim-Philipp Müller [Mon, 13 Oct 2014 14:58:56 +0000 (15:58 +0100)]
encodebin: fix some leaks in error code path

Fixes test_encodebin_sink_pads_nopreset_static
running under valgrind.

10 years agotests: parallelise 'make valgrind'
Tim-Philipp Müller [Mon, 13 Oct 2014 04:08:41 +0000 (05:08 +0100)]
tests: parallelise 'make valgrind'

Use $(MAKE) instead of 'make' inside the Makefile,
otherwise the make will run as if -j1 had been
specified and complain about the job server not
being available, and with $(MAKE) in inherits the
parent make's settings it seems.

Upgrade common submodule for parallel check-valgrind.

10 years agoriff-media: allow more channel_masks
Peter G. Baum [Fri, 3 Oct 2014 10:57:52 +0000 (12:57 +0200)]
riff-media: allow more channel_masks

Allow partial valid channel masks.
Set channel mask to 0 for non-valid channel masks.

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

10 years agoaudio-channels: allow partially valid channel_mask
Peter G. Baum [Fri, 3 Oct 2014 10:54:17 +0000 (12:54 +0200)]
audio-channels: allow partially valid channel_mask

Since WAVEFORMATEXTENSIBLE allows to have more channels than
bits in the channel mask we should allow this, too, to avoid
loss of information.

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

10 years agoaudiodecoder: should post DECODE errors and not ENCODE
Thiago Santos [Tue, 14 Oct 2014 01:24:31 +0000 (22:24 -0300)]
audiodecoder: should post DECODE errors and not ENCODE

Fix error code for audio decoder

10 years agovideoblend: Avoid assigning a negative value to a guint
Luis de Bethencourt [Fri, 10 Oct 2014 17:49:29 +0000 (18:49 +0100)]
videoblend: Avoid assigning a negative value to a guint

There are some few but certain conditions where it is possible for the
dest_width to be smaller than x. So we check this before assigning a negative
value to src_width, which is a unsigned and would be promoted to a number that
can segfault videoblend.

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

10 years agobasetextoverlay: Fix segfault when overlay outside the frame
Luis de Bethencourt [Fri, 10 Oct 2014 04:35:19 +0000 (10:05 +0530)]
basetextoverlay: Fix segfault when overlay outside the frame

When the textoverlay is set outside the video frame by deltax or deltay the
calculation segfaults, but it is also  unnecessary since it doesn't need to be
displayed. So we should clip the text.

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

10 years agopbutils: Rename clock-base/seqnum-base to timestamp-offset/seqnum-offset
Olivier Crête [Fri, 10 Oct 2014 21:32:41 +0000 (17:32 -0400)]
pbutils: Rename clock-base/seqnum-base to timestamp-offset/seqnum-offset

To match how they were renamed elsewhere.

10 years agoplaysink: Use correct property enum value for video-filter property installation
Heinrich Fink [Fri, 10 Oct 2014 09:14:17 +0000 (12:14 +0300)]
playsink: Use correct property enum value for video-filter property installation

10 years agovideoscale: remove FIXME about NV21 support
Luis de Bethencourt [Wed, 8 Oct 2014 15:50:52 +0000 (16:50 +0100)]
videoscale: remove FIXME about NV21 support

NV21 is already supported so removing FIXME about adding support for it.

10 years agovideotestsrc: add gradient pattern
Wim Taymans [Wed, 8 Oct 2014 09:26:24 +0000 (11:26 +0200)]
videotestsrc: add gradient pattern

Makes a gradient between background and foreground color.

10 years agovideo-chroma: improve 4x downsampling coefficients
Wim Taymans [Mon, 6 Oct 2014 13:17:42 +0000 (15:17 +0200)]
video-chroma: improve 4x downsampling coefficients

10 years agoaudioresample: remove unused variables
Peter G. Baum [Mon, 6 Oct 2014 20:13:00 +0000 (22:13 +0200)]
audioresample: remove unused variables

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

10 years agotypefindfunctions: Remove leftover #define from 0.10
Danny Song [Mon, 6 Oct 2014 20:50:56 +0000 (05:50 +0900)]
typefindfunctions: Remove leftover #define from 0.10

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

10 years agodecodebin: Only emit the drain signal for the main decode chain, not any subchains
Andrei Sarakeev [Tue, 7 Oct 2014 08:10:42 +0000 (12:10 +0400)]
decodebin: Only emit the drain signal for the main decode chain, not any subchains

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

10 years agodecodebin: Free factories array when delaying autoplugging due to non-final caps
Sebastian Dröge [Mon, 6 Oct 2014 07:15:13 +0000 (10:15 +0300)]
decodebin: Free factories array when delaying autoplugging due to non-final caps

10 years agovideoconverter: Free the converter config in free()
Sebastian Dröge [Mon, 6 Oct 2014 07:11:05 +0000 (10:11 +0300)]
videoconverter: Free the converter config in free()

10 years agodecodebin: unref decode pad after usage
Aurélien Zanelli [Thu, 2 Oct 2014 19:20:48 +0000 (21:20 +0200)]
decodebin: unref decode pad after usage

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

10 years agovideoencoder: Stop storing if we received EOS
Sebastian Dröge [Sat, 4 Oct 2014 20:09:19 +0000 (23:09 +0300)]
videoencoder: Stop storing if we received EOS

This was never reset when going from PAUSED->READY and resulted
in encoders being not reusable after EOS. They just rejected any
buffer because they received EOS in their previous life.

The flag wasn't used anywhere except for rejecting buffers after
EOS, and this is now handled by GstPad directly.

10 years agovorbisdec: don't reorder streams with channels count greater than eight
Aurélien Zanelli [Wed, 1 Oct 2014 22:14:03 +0000 (00:14 +0200)]
vorbisdec: don't reorder streams with channels count greater than eight

vorbis_reorder_map is defined for eight channels max. If we have more
than eight channels, it's the application which shall define the order.
Since we set audio position to none, we just interleave all the channels
without any particular reordering.

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

10 years agouridecodebin: Removed setting "iradio-mode" property in the source element
Andres Gomez [Tue, 4 Mar 2014 14:51:11 +0000 (16:51 +0200)]
uridecodebin: Removed setting "iradio-mode" property in the source element

The "iradio-mode" property used to have a default FALSE value in HTTP
source elements but now it should default to TRUE or just do not exist
as a property so it is not really needed to set it any more in
uridecodebin.

Apart from that this code could've never worked as uridecodebin looks for a
string-typed iradio-mode property, but it's a boolean in all sources.

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

10 years agodesign: Add a proposal for handling stereoscopic 3D and multiview
Jan Schmidt [Wed, 1 Oct 2014 16:46:58 +0000 (02:46 +1000)]
design: Add a proposal for handling stereoscopic 3D and multiview

10 years agovideoencoder: release frame in finish_frame when no output state is configured
Aurélien Zanelli [Wed, 1 Oct 2014 09:16:30 +0000 (11:16 +0200)]
videoencoder: release frame in finish_frame when no output state is configured

Otherwise, frame is leaked.

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

10 years agovideo-converter: add orc optimized matrix8 function
Wim Taymans [Thu, 25 Sep 2014 15:32:32 +0000 (17:32 +0200)]
video-converter: add orc optimized matrix8 function

Add an ORC implementation of the matrix8 function.
Regenerate video-orc-dist.[ch]

10 years agoaudio: Fix up a comment in GstAudioBaseSink
Arun Raghavan [Mon, 29 Sep 2014 14:15:22 +0000 (19:45 +0530)]
audio: Fix up a comment in GstAudioBaseSink

Rewrote the comment to not be PulseAudio-specific.

10 years agovideo: Make sure to link against libm
Rico Tzschichholz [Sat, 27 Sep 2014 18:05:38 +0000 (20:05 +0200)]
video: Make sure to link against libm

10 years agoxvimagesink: get rid of unnecessary private struct for pool
Tim-Philipp Müller [Sat, 27 Sep 2014 14:58:51 +0000 (15:58 +0100)]
xvimagesink: get rid of unnecessary private struct for pool

10 years agoximagesink: get rid of unnecessary private struct for pool
Tim-Philipp Müller [Sat, 27 Sep 2014 14:53:43 +0000 (15:53 +0100)]
ximagesink: get rid of unnecessary private struct for pool

This is not exposed as API after all.

10 years agoaudio: Trivial comment for unhandled MPEG-2 payloading case
Arun Raghavan [Wed, 24 Sep 2014 15:08:31 +0000 (20:38 +0530)]
audio: Trivial comment for unhandled MPEG-2 payloading case

The spec mentions a version of the MPEG-2 frame with a base frame and
extension frame. I don't have IEC 13818-3 to figure out what that is,
and don't see any references in search results, so it's a FIXME for now.

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

10 years agoaudio: Fixes for MPEG-2 LSF IEC61937 payloading
Arun Raghavan [Wed, 24 Sep 2014 14:41:49 +0000 (20:11 +0530)]
audio: Fixes for MPEG-2 LSF IEC61937 payloading

The low sample frequency case for MPEG-2 is <=12kHz (the 32kHz number
applies to MPEG-1).

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

10 years agoaudio: correct condition for MPEG case.
Anuj Jaiswal [Wed, 17 Sep 2014 12:10:04 +0000 (17:40 +0530)]
audio: correct condition for MPEG case.

Signed-off-by: Anuj Jaiswal <anuj.jaiswal@samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=736797

10 years agovideo: improve YUV -> RGB conversion
Wim Taymans [Fri, 26 Sep 2014 16:14:11 +0000 (18:14 +0200)]
video: improve YUV -> RGB conversion

Reorganize orc instructions to free up some registers.
We can reuse the ORC code to implement the generic AYUV->ARGB matrix.

10 years agovideotestsrc: storel is better then copyl
Wim Taymans [Fri, 26 Sep 2014 14:35:51 +0000 (16:35 +0200)]
videotestsrc: storel is better then copyl

It is better to use storel to splat the variable into the destination.
ORC doesn't know when a variable is last written to so it can't yet optimize
away the copy operation.

10 years agovideoscale: avoid recalculating values
Luis de Bethencourt [Fri, 26 Sep 2014 14:00:12 +0000 (15:00 +0100)]
videoscale: avoid recalculating values

Avoid recalculating values used multiple times as base of index. Plus some style
fixes.

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

10 years agovideoscale: support lanczos method for NV formats
Ravi Kiran K N [Fri, 26 Sep 2014 03:44:51 +0000 (09:14 +0530)]
videoscale: support lanczos method for NV formats

Support lanczos scaling method for NV12 and NV21 formats.
Scale the 'Y' plane and scale 'NV' plane.
Implementation for submethods - int16, int32, float and double

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

10 years agovideo: update disted orc backup files
Tim-Philipp Müller [Thu, 25 Sep 2014 14:19:21 +0000 (15:19 +0100)]
video: update disted orc backup files

10 years agovideo: convertor -> converter
Wim Taymans [Wed, 24 Sep 2014 14:19:30 +0000 (16:19 +0200)]
video: convertor -> converter

10 years agovideo: move videoconvert code to video library
Wim Taymans [Wed, 24 Sep 2014 13:49:42 +0000 (15:49 +0200)]
video: move videoconvert code to video library

Move the conversion code used in videoconvert to the video library
and expose a simple but generic API to do arbitrary conversion. It can
currently do colorspace conversion but the plan is to add videoscale to
it as well.

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

10 years agovideo-color: add gst_video_color_matrix_get_Kr_Kb()
Wim Taymans [Wed, 24 Sep 2014 09:04:15 +0000 (11:04 +0200)]
video-color: add gst_video_color_matrix_get_Kr_Kb()

Move the function to get the color matrix coefficients from
videoconvert to the video library.

10 years agoaudiosink: compensate for segment restart with clock's time_offset
Thiago Santos [Tue, 23 Sep 2014 17:14:36 +0000 (14:14 -0300)]
audiosink: compensate for segment restart with clock's time_offset

When playing chained data the audio ringbuffer is released and
then acquired again. This makes it reset the segbase/segdone
variables, but the next sample will be scheduled to play in
the next position (right after the sample from the previous media)
and, as the segdone is at 0, the audiosink will wait the duration
of this previous media before it can write and play the new data.

What happens is this:
pointer at 0, write to 698-1564, diff 698, segtotal 20, segsize 1764, base 0

it will have to wait the length of 698 samples before being able to write.

In a regular sample playback it looks like:
pointer at 677, write to 696-1052, diff 19, segtotal 20, segsize 1764, base 0

In this case it will write to the next available position and it
doesn't need to wait or fill with silence.

This solution is borrowed from pulsesink that resets the clock to
start again from 0, which makes it reset the time_offset to the time
of the last played sample. This is used to correct the place of
writing in the ringbuffer to the new start (0 again)

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

10 years agovideopool: add missing annotation for gst_video_buffer_pool_new()
Ognyan Tonchev [Sun, 21 Sep 2014 11:16:43 +0000 (13:16 +0200)]
videopool: add missing annotation for gst_video_buffer_pool_new()

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

10 years agovideoscale Use stride instead of width in more places
Sebastian Dröge [Tue, 23 Sep 2014 20:12:19 +0000 (23:12 +0300)]
videoscale Use stride instead of width in more places

10 years agovideoscale: Use width instead of stride in buffer offset calculation
Sanjay NM [Fri, 19 Sep 2014 07:01:49 +0000 (12:31 +0530)]
videoscale: Use width instead of stride in buffer offset calculation

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

10 years agoaudioencoder: reshuffle code in error handling
Stefan Sauer [Tue, 23 Sep 2014 09:56:33 +0000 (11:56 +0200)]
audioencoder: reshuffle code in error handling

Move the assert to the error handling block at the end of the function so the
the logging is still triggered. Reword the logging slightly and add another
comment to hint what went wrong.

Fixes #737138

10 years agovideoencoder: log the timestamps if we are unhappy about them
Stefan Sauer [Mon, 22 Sep 2014 18:15:13 +0000 (20:15 +0200)]
videoencoder: log the timestamps if we are unhappy about them

When complaining about the DTS!=PTS on keyframes log the actualy timestamps.

10 years agotests: add orc test for videoconvert
Wim Taymans [Mon, 22 Sep 2014 08:42:47 +0000 (10:42 +0200)]
tests: add orc test for videoconvert

10 years agogst-play: Fix format string compiler warning
Sebastian Dröge [Mon, 22 Sep 2014 07:40:01 +0000 (10:40 +0300)]
gst-play: Fix format string compiler warning

gst-play.c:92:28: error: format string is not a string literal
      [-Werror,-Wformat-nonliteral]
  len = g_vasprintf (&str, format, args);
                           ^~~~~~

10 years agoexample/overlay: Specify minimum gdk version
Edward Hervey [Fri, 19 Sep 2014 12:58:20 +0000 (14:58 +0200)]
example/overlay: Specify minimum gdk version

Avoids deprecation warnings (such as for gtk_widget_set_double_buffered()
which became deprecated from 3.14)

10 years agogst-play: add --quiet option to suppress output
Tim-Philipp Müller [Fri, 19 Sep 2014 17:29:54 +0000 (18:29 +0100)]
gst-play: add --quiet option to suppress output

10 years agobasetextoverlay: Do not fail the negotiation if query fails
Thiago Santos [Fri, 5 Sep 2014 16:49:46 +0000 (13:49 -0300)]
basetextoverlay: Do not fail the negotiation if query fails

The allocation query failure doesn't mean that the negotiation
has failed as the element can allocate buffers itself.

Instead, only fail if the pads are flushing and the allocation
query failed.

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

10 years agovideoscale: Added NV support for 4Tap resize
Sanjay NM [Thu, 18 Sep 2014 10:15:43 +0000 (15:45 +0530)]
videoscale: Added NV support for 4Tap resize

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

10 years agoplaybin: Don't leak input-selector sinkpads
Andrei Sarakeev [Thu, 18 Sep 2014 08:29:37 +0000 (12:29 +0400)]
playbin: Don't leak input-selector sinkpads

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

10 years agoaudiodecoder: Simplify code a bit
Sebastian Dröge [Thu, 18 Sep 2014 09:39:48 +0000 (12:39 +0300)]
audiodecoder: Simplify code a bit

10 years agostreamsplitter: do not leak events when flushing them
Ognyan Tonchev [Wed, 17 Sep 2014 12:34:25 +0000 (14:34 +0200)]
streamsplitter: do not leak events when flushing them

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

10 years agoaudioencoder: do not leak events when flushing them
Ognyan Tonchev [Wed, 17 Sep 2014 12:18:49 +0000 (14:18 +0200)]
audioencoder: do not leak events when flushing them

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

10 years agovideodecoder: do not leak events when flushing them
Ognyan Tonchev [Wed, 17 Sep 2014 12:11:21 +0000 (14:11 +0200)]
videodecoder: do not leak events when flushing them

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

10 years agovideoencoder: do not leak events when flushing them
Ognyan Tonchev [Wed, 17 Sep 2014 12:08:17 +0000 (14:08 +0200)]
videoencoder: do not leak events when flushing them

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

10 years agoaudiodecoder: extend flush_events test to check for event leaks
Ognyan Tonchev [Wed, 17 Sep 2014 10:17:27 +0000 (12:17 +0200)]
audiodecoder: extend flush_events test to check for event leaks

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

10 years agoaudiodecoder: Don't leak events
Ognyan Tonchev [Wed, 17 Sep 2014 10:17:53 +0000 (12:17 +0200)]
audiodecoder: Don't leak events

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

10 years agoaudiocdsrc: do not leak uid after parsing TOC select event
Ognyan Tonchev [Tue, 16 Sep 2014 11:32:52 +0000 (13:32 +0200)]
audiocdsrc: do not leak uid after parsing TOC select event

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

10 years agotypefind: correct the condition for irap flag
Ravi Kiran K N [Wed, 17 Sep 2014 05:21:59 +0000 (10:51 +0530)]
typefind: correct the condition for irap flag

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

10 years agoplaysink: Add audio/videoconvert in front of the audio/video-filters
Sebastian Dröge [Tue, 16 Sep 2014 18:42:46 +0000 (21:42 +0300)]
playsink: Add audio/videoconvert in front of the audio/video-filters

audioresample and videoscale is something the application will have to do if
required, but we can at least help here by adding the
audioconvert/videoconvert elements.

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

10 years agovideo-frame: Don't ref buffers twice when mapping
Sebastian Dröge [Mon, 15 Sep 2014 22:07:18 +0000 (01:07 +0300)]
video-frame: Don't ref buffers twice when mapping

10 years agoapp: Add FIXME comment for making the instance/class structs private
Sebastian Dröge [Mon, 15 Sep 2014 21:41:55 +0000 (00:41 +0300)]
app: Add FIXME comment for making the instance/class structs private

10 years agoappsrc: fix recent ABI breakage caused by GstAppSrc structure size increase
Tim-Philipp Müller [Mon, 15 Sep 2014 20:51:15 +0000 (21:51 +0100)]
appsrc: fix recent ABI breakage caused by GstAppSrc structure size increase

Also fixes 'make check'.

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

10 years agovideodecoder: do not leak pool and allocator in error case
Ognyan Tonchev [Mon, 15 Sep 2014 14:23:57 +0000 (16:23 +0200)]
videodecoder: do not leak pool and allocator in error case

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

10 years agovideofilter: Use new GST_VIDEO_FRAME_MAP_FLAG_NO_REF
Sebastian Dröge [Fri, 12 Sep 2014 11:41:01 +0000 (14:41 +0300)]
videofilter: Use new GST_VIDEO_FRAME_MAP_FLAG_NO_REF

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

10 years agovideo-frame: Add GST_VIDEO_FRAME_MAP_FLAG_NO_REF
Sebastian Dröge [Fri, 12 Sep 2014 11:39:16 +0000 (14:39 +0300)]
video-frame: Add GST_VIDEO_FRAME_MAP_FLAG_NO_REF

This makes sure that the buffer is not reffed another time when
storing it in the GstVideoFrame, keeping it writable if it was
writable.

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

10 years agovideofilter: Unref buffers before calling the transform_frame functions
Sebastian Dröge [Fri, 12 Sep 2014 11:27:44 +0000 (14:27 +0300)]
videofilter: Unref buffers before calling the transform_frame functions

GstVideoFrame has another reference, so the buffer looks unwriteable,
meaning that we can't attach any metas or anything to it

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

10 years agoaudiobasesink: Fix deadlock caused by holding object lock while calling clock functions
Garg [Fri, 5 Sep 2014 16:54:10 +0000 (09:54 -0700)]
audiobasesink: Fix deadlock caused by holding object lock while calling clock functions

Issue:
During a PAUSED->PLAYING transition when we are rendering an audio buffer in AudioBaseSink
we make adjustments to the sink's provided clock i.e. fix clock calibration using the external
pipeline clock, within "gst_audio_base_sink_sync_latency function inside gstaudiobasesink.c".
For the calibration adjustment we need to get the sink clock time using "gst_audio_clock_get_time".
But before calling "gst_audio_clock_get_time" we acquire the Object Lock on the Sink. If sink is
a pulsesink, "gst_audio_clock_get_time" internally calls "gst_pulsesink_get_time" which needs to
acquire Pulse Audio Main Loop Lock before querying Pulse Audio for its stream time using
"pa_stream_get_time". Please see "gst_pulsesink_get_time in pulsesink.c".

So the situation here is we have acquired the Object lock on Sink and need PA Main Loop Lock.
Now Pulse Audio Main Thread itself might be in the process of posting a stream status
message after Paused to Playing transition which in turn acquires the PA Main loop lock and
needs the Object Lock on Pulse Sink. This causes a deadlock with the earlier render thread.

Fix:
Do not acquire the object Lock on Sink before querying the time on PulseSink clock. This is
similar to the way we have used get_time at other places in the code. Acquire it after the
get_time call. This way PA Main loop will be able to post its stream status message by
acquiring the Sink Object lock and will eventually release its Main Loop lock needed for
gst_pulsesink_get_time to continue.

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

10 years agoappsrc: Add example that shows gst_app_src_push_sample() usage
Nicola Murino [Thu, 4 Sep 2014 09:56:50 +0000 (11:56 +0200)]
appsrc: Add example that shows gst_app_src_push_sample() usage

10 years agoappsrc: Add push_sample() convenience function for easy appsink -> appsrc use
Nicola Murino [Fri, 5 Sep 2014 09:14:51 +0000 (11:14 +0200)]
appsrc: Add push_sample() convenience function for easy appsink -> appsrc use

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