Commit graph

22873 commits

Author SHA1 Message Date
Tim-Philipp Müller
4576e0737d gl: use new gst_element_foreach_sink_pad()
Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.

https://bugzilla.gnome.org/show_bug.cgi?id=785679
2017-11-02 12:47:28 +00:00
Tim-Philipp Müller
dd7a90c48e videoaggregator: drop ABI compat in padding for new struct member
Don't really have to do that while it's in -bad and most users
are in-tree anyway.
2017-11-02 11:57:24 +00:00
Tim-Philipp Müller
a9ffba8ce5 audioaggregator: make class padding larger 2017-11-02 11:44:54 +00:00
Stefan Sauer
859cc0a662 aggregator: add more comments 2017-11-01 15:19:15 +01:00
Hyunjun Ko
cd2dca6275 msdk: adds msdkvp8dec
https://bugzilla.gnome.org/show_bug.cgi?id=789751
2017-11-01 11:33:50 +02:00
Sebastian Dröge
62f04e801b msdk: Allow building against mfx_dispatcher
E.g. from https://github.com/lu-zero/mfx_dispatch
2017-10-30 18:20:23 +02:00
Matthew Waters
dc6c4ea5c2 vtdec: destroy and create the GL context on start()/stop()
Removes a reference count loop
2017-10-30 17:19:40 +11:00
Nicola Murino
6165e07b62 vtdec: flush decoder on stop
fix a memory leak if the decoder shut down before EOS

https://bugzilla.gnome.org/show_bug.cgi?id=787311
2017-10-30 17:16:49 +11:00
Nicola Murino
889e735675 vtenc: flush encoder on stop
https://bugzilla.gnome.org/show_bug.cgi?id=787311
2017-10-30 17:16:29 +11:00
Matthew Waters
ad05728351 gl/shader: allow setting non-square matrices as uniforms on gles platforms
It is possible with GLES3
2017-10-28 21:34:08 +11:00
Matthew Waters
f8d751f7b5 gl/query: split tests and fix some corresponding issues in usage 2017-10-28 18:34:57 +11:00
Thiago Santos
c2d34d1e44 adaptivedemux: add replaced flag to not error out on bitrate change
When switching bitrates we set the old streams as cancelled, but it
could also be confused with a cancel due to other reasons (as an error)
and it would lead the element to stop the pipeline mistankely. This
would happen when the stream being replaced was waiting for a manifest
update on live. Ss make it sure that we are stopping for switching
bitrates to avoid erroring out.

https://bugzilla.gnome.org/show_bug.cgi?id=789457
2017-10-26 01:03:21 -07:00
Florent Thiéry
ee2d4c955f configure.ac: fix fdk-aac version check
https://bugzilla.gnome.org/show_bug.cgi?id=789471
2017-10-25 16:26:24 +02:00
Mathieu Duponchelle
2bf57a92cc fdkaacenc: check fdk-aac version in meson.build
configure.ac used to set -DHAVE_FDK_AAC_0_1_4 , which enables
7.1 support.

https://bugzilla.gnome.org/show_bug.cgi?id=789471
2017-10-25 14:36:55 +02:00
Vivia Nikolaidou
a160b85f0a avwait: Added end-timecode property
avwait can now be configured to stop when a given timecode has been
reached. It will start at the timecode indicated with start-timecode and
end at the timecode indicated with end-timecode. If end-timecode is
NULL (default), the previous functionality is preserved: keep going and
not end.

https://bugzilla.gnome.org/show_bug.cgi?id=789403
2017-10-25 13:39:19 +02:00
Stefan Sauer
97c81b0a36 tests: comment and logging cleanups for audiomixer and aggregator
Remove some references to 'collectpads'. Logs pads through the object variants.
Add some more comments. Remove a left over comment.
2017-10-23 11:54:53 +02:00
Stefan Sauer
0a2ff1ecda aggregator: fix type for latency property (int64 -> GStClockTime)
The value is used as GstClockTiem in the code. Adapt the hack^H^H^H^Hcode
in live-adder.
2017-10-23 11:41:17 +02:00
Olivier Crête
fd81f27bd8 audioaggregator: Accept buffer with no data, but duration and gap flag
These are produced from GAP events by the base class.

https://bugzilla.gnome.org/show_bug.cgi?id=784846
2017-10-21 12:06:08 +02:00
Olivier Crête
25ea37e7d9 aggregator: Don't take flush lock from output thread
Instead just take it in the chain function.

https://bugzilla.gnome.org/show_bug.cgi?id=784911
2017-10-21 12:06:08 +02:00
Olivier Crête
bb5a8ebec3 aggregator: Don't block if adding to the tail of the queue
If we're adding to the tail of the queue, it's because we're converting
a gap event, so don't block there it means we're calling from the output
thread.

https://bugzilla.gnome.org/show_bug.cgi?id=784911
2017-10-20 18:55:28 +02:00
Jan Alexander Steffens (heftig)
e5977b8794 openjpeg: Remove compatibility with openjpeg 2.0
Everyone seems to be shipping 2.1 as the oldest v2 version, even debian
oldstable (jessie).

Also remove an unneeded (debug?) #include <stdio.h>.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Jan Alexander Steffens (heftig)
bff2d834a4 openjpeg: Support building with openjpeg 2.3, simpler
OpenJPEG 2.3 installs its headers to /usr/include/openjpeg-2.3. However,
since libopenjp2.pc seems to provide the right includedir CFLAGS at
least since version 2.1, instead of adding yet another version check,
just remove the subdir and the check for 2.2.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Jan Alexander Steffens (heftig)
d1cbeb4fe7 Revert "openjpeg: Support building with openjpeg 2.3"
This reverts commit ef4d6b93e6.

A better fix follows.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Stefan Sauer
9cff4f69cb ipcpipeline: work around gcc bug in struct initializers
Unfortunately we need to use an extra set of parenthesis for each data level.

For details see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
Affected versions are e.g.
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
which is the default on ubuntu-trusty. I looks like the fix was never
backported.
2017-10-20 10:36:36 +02:00
Nicola Murino
c808b4dd11 vtenc: fix memory leak
finish encoding and clean buffers queue on flush. This avoid a memory leak
if the element shuts down before EOS

https://bugzilla.gnome.org/show_bug.cgi?id=787311
2017-10-20 01:49:22 +11:00
Jérôme Laheurte
b569ae4832 Use value instead of version macro when testing for mac OS version
https://bugzilla.gnome.org/show_bug.cgi?id=788404
2017-10-20 01:49:22 +11:00
Andreas Frisch
07d6b7f56d lcms: Add LCMS ICC color correction element
https://bugzilla.gnome.org/show_bug.cgi?id=765927
2017-10-19 16:46:24 +02:00
Jan Alexander Steffens (heftig)
519ead2462 m3u8: Refine sequence update debug messages
Actually give some details about why it failed.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:04 +02:00
Jan Alexander Steffens (heftig)
7690a4a521 m3u8: Don't try to match URIs when we have media sequences
It is legal for a stream to reuse segments (marking discontinuities as
needed). Uplynk delivers such playlists for their placeholder loops.

Leave the URI scanning in place for playlists which have no
EXT-X-MEDIA-SEQUENCE tag. This should be harmless since the spec
requires these playlists to not be missing segments (RFC8216 6.2.2),
so we should be always matching on the first segment.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:04 +02:00
Jan Alexander Steffens (heftig)
025633b162 m3u8: Ignore empty playlists in check_media_seqnums
Let these error in the immediately following check in gst_m3u8_update.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:03 +02:00
Jan Alexander Steffens (heftig)
f80ad048e6 m3u8: Split gst_m3u8_update_check_consistent_media_seqnums
The function was basically one big if-else. Move the branch to the
one caller.

Currently, it's never called with previous_files == NULL. Assert that
this continues.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:03 +02:00
Jan Alexander Steffens (heftig)
234a8ecc50 m3u8: Simplify control flow for sequence update
Split the tail from the rest of the loop.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:02 +02:00
Sebastian Dröge
a563cbbc1c decklink: Add read-only property to read the device serial number
https://bugzilla.gnome.org/show_bug.cgi?id=788510
2017-10-18 12:33:28 +02:00
Stefan Sauer
739d488cea aggregator: review code related to time level
Add a comment for when the state matters. Use a local var for priv in
update_time_level() to improve readability. Move the our_latency local
var below the query results checks.
2017-10-17 20:43:59 +02:00
Stefan Sauer
3c5cf83232 aggregator: init latency values with 0 instead of FALSE 2017-10-17 20:43:59 +02:00
Michał Górny
a8889bdcbc opencv: Support smoothing only part of the image
https://bugzilla.gnome.org/show_bug.cgi?id=788567
2017-10-16 11:07:07 +02:00
Michał Górny
798d899a25 opencv: Add 'kernel' prefix to width/height
Rename width to kernel-width, and height to kernel-height to avoid
ambiguity in the name.

https://bugzilla.gnome.org/show_bug.cgi?id=788567
2017-10-16 11:07:07 +02:00
Thibault Saunier
ef4d6b93e6 openjpeg: Support building with openjpeg 2.3
And avoid failling the build each time openjpeg releases a new version.
2017-10-16 11:05:12 +02:00
Stefan Sauer
87dcd2959d aggregator: code cleanup for event and query func
Only look up klass for non serialized events/queries. For events remove
superfluous assignment for the return value in the flushing case.
2017-10-15 20:48:20 +02:00
Stefan Sauer
7562d759a5 aggregator: simplify pad_event_func for FLUSH_STOP events
We want to skip serialization for FLUSH_STOP events (apparently). We can
simplify the code to add it to the top-level conditions. There was nothing
done in the first code path if the event was FLUSH_STOP.
2017-10-15 17:49:54 +02:00
Stefan Sauer
a3190f1765 aggregator: drop special casing for eos
Just queue it like any other serialized event. This way we don't need to
check if there still are buffers in the queue.

Validated with the tests and gst-launch-1.0 pipelines.
2017-10-15 16:59:24 +02:00
Stefan Sauer
2723da01e3 aggregator: add a doc-blob for the event_func 2017-10-15 16:51:21 +02:00
Stefan Sauer
08a7da766d aggregator: rename a local variable
The variable tracks wheter the queue is not empty, but num_buffers==0. That
means we have events or queries to process. Rename accordingly.
2017-10-15 16:48:21 +02:00
Stefan Sauer
73f64d6f13 aggregator: remove commented code
The SEGMENT_DONE event does not require any special treatment. This is
commented out in 6efc106a67.
2017-10-15 12:17:42 +02:00
Stefan Sauer
638a4582c2 aggregator: move the comment for the locks to the lock macros
Looks like some code was inserted afterwards.
2017-10-15 12:14:28 +02:00
Stefan Sauer
6deaeec19f aggregator: improve section docs
Mention how data ends up in the queues. Document the relation of the pad
functions and the class vmethods to get events and queries.
2017-10-15 10:51:24 +02:00
Stefan Sauer
7e4efce310 audioaggregator: improve readability in offset calculation
Don't reuse the offset variables will contain a sample offset for an
intermediate time value. Instead add a segment_pos variable of type
GstClockTime for this. Use The clock-time macros to check if we got
a valid time.
2017-10-15 10:29:20 +02:00
Stefan Sauer
17dfaf83dc aggregator: add two more tests for a sequence of data
This verifies that we handle events and queries at the head of the queue and
then buffers.
2017-10-14 18:20:30 +02:00
Stefan Sauer
9c1b85115c aggregator: refactor the test helper
Make the test helpers use a queue. This lets us also test sequences of events,
queries and data.
2017-10-14 18:20:30 +02:00
Stefan Sauer
8e43094a17 aggregator: test cleanup
Remove gst_init() from a few tests. Use _OBJECT variants in logging. Remove
arbitrary extra blank lines. Make push_event() more like push_buffer() - set
the event to NULL and add cleanup to _chain_data_clear().
2017-10-14 18:20:30 +02:00