Commit graph

6481 commits

Author SHA1 Message Date
Sebastian Dröge
ce7444411e audiomixer: Remove weird and wrong segment handling
There's no reason why audiomixer should override the segment
base of upstream with whatever value it got from a SEEK event,
or even worse... with 0 if there was no SEEK event yet. This
broke synchronization if upstream provided a segment base other
than 0, e.g. when using pad offsets.
Also that this code did things conditional on the element's state
should've been a big warning already that something is just wrong.
If this breaks anything else now, let's fix it properly :)

Also don't do fancy segment position trickery when receiving a
segment event. It's just not correct.
2015-02-05 16:02:54 +01:00
Thiago Santos
e9c1d64895 mpegtsmux: avoid leaking force keyunit event when going to NULL
Do not set to NULL before unreffing the event or it will leak
2015-02-03 17:05:06 -03:00
Anton Gritsay
77bafb4dbc mpegtsmux: parse force key unit events with the correct function
Otherwise it won't be parsed and bogus values would be used.

https://bugzilla.gnome.org/show_bug.cgi?id=696032
2015-02-03 17:05:00 -03:00
Thiago Santos
b18a09dbec tsdemux: remove update segment logic
This is not needed in 1.x series anymore
2015-02-03 13:50:42 -03:00
Aurélien Zanelli
d0a50be26d tsdemux: don't mark streams as needing a new segment on flush
The flush is called on discont and we shouldn't output a new segment
each time a discont happens. So this commit remove the mark for a new
segment when flushing streams by propagating the 'hard' flag passed
on the flusing from the base class.

https://bugzilla.gnome.org/show_bug.cgi?id=743363
2015-02-03 13:50:42 -03:00
Luis de Bethencourt
26692836f2 audiovisualizer: remove double-setting of render function
No need to set the audiovisualizer->render function twice. Once is enough.
2015-01-29 11:55:13 +00:00
Thibault Saunier
1a07467d5f aggregator: Make the PAD_LOCK private
Instead of using the GST_OBJECT_LOCK we should have
a dedicated mutex for the pad as it is also associated
with the mutex on the EVENT_MUTEX on which we wait
in the _chain function of the pad.

The GstAggregatorPad.segment is still protected with the
GST_OBJECT_LOCK.

Remove the gst_aggregator_pad_peak_unlocked method as it does not make
sense anymore with a private lock.

https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Thibault Saunier
d8eef43123 aggregator: Hide GstAggregatorPad buffer and EOS fileds
And add a getter for the EOS.

The user should always use the various getters to access
those fields

https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
a2f1aa30c8 audiomixer: Clear GstAudioInfo the the caps
When clearing the caps, also clear the matching GstAudioInfo

https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
067b44e0b8 audiomixer: Don't reset caps on flush
A flush event doesn't invalidate the previous caps event.

https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Olivier Crête
cc3f418516 aggregator: Replace event lock with pad's object lock
Reduce the number of locks simplify code, what is protects
is exposed, but the lock was not.

Also means adding an _unlocked version of gst_aggregator_pad_steal_buffer().

https://bugzilla.gnome.org/show_bug.cgi?id=742684
2015-01-29 10:24:18 +01:00
Luis de Bethencourt
2b99c2c579 aiffparse: remove unnecessary variable
The bps variable is declared with value aiff->bps, read once and never written.
aiff->bps can be used directly instead.
2015-01-26 13:46:44 +00:00
Luis de Bethencourt
d48e57538d aiffparse: fix which stop variable is used in assignment
Assignment is done to variable segment.stop when the intention was to assign to
local variable stop. Instead of overwriting it, the value is now clamped and
segment.stop is set to it soon after.

CID #1265772
2015-01-26 12:49:45 +00:00
Matthieu Bouron
6716671762 aiffmux: write padding byte at end of SSND chunk if needed
AIFF chunks are supposed to be even aligned.

Aligning the SSND chunk will allow the aiff muxer to properly write
chunks (like the ID3 one) at the end of the file.

https://bugzilla.gnome.org/show_bug.cgi?id=727402
2015-01-23 16:01:35 +01:00
Arun Raghavan
e53627c277 intervideosrc: Fix GAP flag setting on non-black frames
The previous commit fixed setting the GAP flag on black frames, but
incorrectly dropped the flag on repeated pushes of the same video
buffer.
2015-01-23 12:47:03 +05:30
Arun Raghavan
825239b450 intervideosrc: Fix GAP flag setting on black frames correctly
This did not actually work since the video_buffer was set to NULL after
the first black frame.

Reported by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
2015-01-22 11:07:50 +05:30
Arun Raghavan
ec7f05dd9c intervideosrc: Fix max value of the timeout property
Reported by: Patrik Oldsberg <patrik.oldsberg@ericsson.com>
2015-01-22 11:07:50 +05:30
Luis de Bethencourt
1b2d74728c audiovisualizer: sync with base class in -base
https://bugzilla.gnome.org/show_bug.cgi?id=742875
2015-01-21 15:31:21 +00:00
Luis de Bethencourt
6431de3286 audiovisualizer: ensure default query/event handlers are used
Sync audiovisualizer class implementation to the one in gst-plugins-base. This
commit matches 9dd0e6cccc in that module.

https://bugzilla.gnome.org/show_bug.cgi?id=742875
2015-01-21 15:06:21 +00:00
Sebastian Dröge
a657ba9f3b siren: Make some local variables non-static for thread-safety
Otherwise we will override values from another thread if we encode
or decode frames at the same time in different threads.
2015-01-21 10:18:50 +01:00
Sebastian Dröge
80e02cbdf9 Constify some static arrays everywhere 2015-01-21 10:18:50 +01:00
Edward Hervey
ca22a8e87f mpegdemux: minor debug update
Only show PTS/DTS when they are valid, and include the stream id
2015-01-21 08:47:48 +01:00
Víctor Manuel Jáquez Leal
654e2a0298 h264parse: expose stereo-high profile
Exposing stereo-high profile as a compatible profile of multiview-high
if the maximum number of encoded views in the stream is two.

https://bugzilla.gnome.org/show_bug.cgi?id=743174
2015-01-21 01:03:36 +11:00
Víctor Manuel Jáquez Leal
4fc3db1808 h264parse: parse SPS subset
This patch calls gst_h264_parser_parse_subset_sps() when a
SPS subset NAL type is found.

All the bits required for parsing the SPS subset in NALs were
already there, just we need to call them when the this NAL type
is found.

With this parsing, the number of views (minus 1) attribute is
filled, which was a requirement for negotiating the stereo-high
profile.

https://bugzilla.gnome.org/show_bug.cgi?id=743174
2015-01-21 01:03:36 +11:00
Sreerenj Balachandran
d8c2dd2da1 h264parse: add initial support for MVC NAL units.
Initial support for MVC NAL units. It is only needed to propagate the
complete set of NAL units downstream at this time.

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

Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2015-01-21 00:18:44 +11:00
Vincent Penquerc'h
15d51c1f6c compositor: fix illegal memory access in blend function with negative ypos
https://bugzilla.gnome.org/show_bug.cgi?id=741115
2015-01-19 12:38:13 +00:00
Tim-Philipp Müller
b5bd2a8855 Remove real plugin which is no longer needed and has never been ported
Decoders for these formats exist in gst-libav, if anyone
still has a need for them.
2015-01-18 17:30:28 +00:00
Sebastian Dröge
efb74ca0df interaudiosink: Make sure that buffer time is always bigger than period time 2015-01-15 13:13:51 +01:00
Nirbheek Chauhan
29975746dc compositor: Document the zorder pad property from gstvideoaggregator 2015-01-14 19:21:36 +01:00
Luis de Bethencourt
ad6b8d0a3d audiovisualizer: handle the return of the setup function
Make the class future proof by handling the gboolean return of the setup
function. So if/when a child class uses this the base class is ready.
2015-01-13 16:55:14 +00:00
Luis de Bethencourt
fc56b0742c Revert "audiovisualizer: remove unused value"
This reverts commit 25c9757083.

It is preferable to handle the retun of the setup function.
2015-01-13 16:46:10 +00:00
Sebastian Dröge
7f27b81e05 inter: Use a #define for the default value of the channel property 2015-01-13 17:01:14 +01:00
Sebastian Dröge
cd5b64133e intervideosrc: Make the timeout configurable after which we start showing a black frame 2015-01-13 17:01:14 +01:00
Luis de Bethencourt
25c9757083 audiovisualizer: remove unused value
klass->setup (scope) will always return TRUE since all children of this class
do so, no need to store the return. Besides, the value is overwritten a few
lines down before it is used.

Change helps keep files in sync after:
-base commit a91d521a36
2015-01-13 15:48:36 +00:00
Sebastian Dröge
ddb535c35d compositor: Don't do any conversions if the pad is completely transparent anyway 2015-01-13 14:54:26 +01:00
Branislav Katreniak
45b095c666 inter: silence messages for flushed / created samples
These messages are logged periodically and polute the log

https://bugzilla.gnome.org/show_bug.cgi?id=741592
2015-01-13 11:16:41 +01:00
Stefan Sauer
4732962c85 gitignore: ignore more files 2015-01-12 22:52:36 +01:00
Luis de Bethencourt
b7fab0736d visual: use unused value
ret is assigned but not used and in the next cycle of the loop it is overwritten
with default_prepare_output_buffer (). If there is a flow error the function
should return instead.

CID #1226475
2015-01-12 15:33:42 +00:00
Luis de Bethencourt
0b3f5dafa6 gaudieffects: stored value is overwritten
Value from left_luminance is assigned to out_luminance here, but that stored
value is not used before it is overwritten in the next cycle of the loop.
Removing assignation.

CID #1226473
2015-01-12 14:22:47 +00:00
Luis de Bethencourt
8b2fc918b6 mpegdemux: fix dead code
found is initialized to FALSE to then only be used in two conditional statements
that will always be false, making the blocks inside them dead code. Looking back
in the file's history the setting of the variable's value before it is checked
was dropped as part of the port to 0.11, bringing that value setting back.

https://bugzilla.gnome.org/show_bug.cgi?id=742638
2015-01-12 12:59:20 +00:00
Tim-Philipp Müller
9f3a5fc168 mpegdemux: minor optimisation when scanning for SCRs
Bail out early when we're scanning for SCR, no need to
parse stuff we're not going to use nor interested in.
2015-01-11 20:42:13 +00:00
Jan Schmidt
4108069d05 inter: interaudiosrc - fixate layout for default caps
Makes interaudiosrc produce valid audio caps in the absence of any other
guidance by adding to the pad template and fixate function
2015-01-10 16:09:19 +11:00
Luis de Bethencourt
c01af3aa8f audiovisualizer: remove check for below zero for unsigned value
CLAMP checks both if value is '< 0' and '> max'. Value will never be a negative
number since it is an unsigned integer. Removing that check and only checking if
it is bigger than max and setting it appropriately.

Also converting the previous instance of this into MIN() for consistency.

CID 1139793
2015-01-09 17:56:09 +00:00
Sreerenj Balachandran
542c77ab38 h264parse: expose compatible profiles to downstream
Some video bitstreams report a too restrictive set of profiles. If a video
decoder was to strictly follow the indicated profile, it wouldn't support that
stream, whereas it could in theory and in practice. So we should relax the
profile restriction for allowing the decoder to get connected with parser.

https://bugzilla.gnome.org/show_bug.cgi?id=739992
2015-01-09 18:19:00 +01:00
Luis de Bethencourt
9d9a1af45a audiovisualizer: remove check if below zero for unsigned value
CLAMP checks both if y is '< 0' and '> h1'. y will never be a negative number
since it is an unsigned integer. Removing that check and only checking if it
bigger than h1 and setting it to that max approprietaly.

CID 1139792
2015-01-09 14:42:34 +00:00
Luis de Bethencourt
54ce23e0cb rtp: value truncated too short creates dead code
type is truncated to 0-31 with "& 0x1f", but right after that it is checks if
the value is equivalent to GST_H265_NAL_VPS, GST_H265_NAL_SPS, and
GST_H265_NAL_PPS (which are 32, 33, and 34 respectively). Obviously, this will
never be True if the value is maximum 31 after the truncation.
The intention of the code was to truncate to 0-63.
2015-01-08 15:36:04 +00:00
Luis de Bethencourt
66a08297c7 rtp: fix nal unit type check
After further investigation the previous commit is wrong. The code intended to
check if the type is 39 or the ranges 41-44 and 48-55. Just like gsth265parse.c
does. Type 40 would not be complete.
2015-01-08 15:27:44 +00:00
Luis de Bethencourt
20dc27f983 rtp: fix dead code and check for impossible values
nal_type is the index for a GstH265NalUnitType enum. There are two types of dead
code here:
First, after checking if nal_type is >= 39 there are two OR conditionals that
check if the value is in ranges higher than that number, so if nal_type >= 39
falls in the True branch those other conditions aren't checked and if it falls
in the False branch and they are checked, they will always also be False. They
are redundant.
Second, the enum has a range of 0 to 40. So the checks for ranges higher than 41
should never be True.
Removing this redundant checks.

CID 1249684
2015-01-08 13:58:13 +00:00
Tim-Philipp Müller
854630fb92 Revert "pngparse: improve parsing of the image"
This reverts commit 59e7f0597d.

This patch should not have been pushed, see
https://bugzilla.gnome.org/show_bug.cgi?id=740058#c3
2015-01-07 16:40:25 +00:00
Vineeth T M
59e7f0597d pngparse: improve parsing of the image
Everytime a buffer is being provided from baseparse, we are parsing all the data from the beginning.
But since we would have already parsed some of the data in the previous iterations,
it doesnt make much sense to keep parsing the same everytime.
Hence skipping the data which is already read in previous iterations to improve the parsing performance.

https://bugzilla.gnome.org/show_bug.cgi?id=740058
2015-01-07 16:32:49 +00:00