Edward Hervey [Wed, 31 May 2017 08:58:39 +0000 (10:58 +0200)]
dashdemux: Remove wrong assertion
This is wrong because:
* If the rate is negative we should check for the *previous* period
* adaptivedemux already does the proper checks before calling this
method
Edward Hervey [Fri, 26 May 2017 15:55:44 +0000 (17:55 +0200)]
ttml: Simplify code
n2 can never be NULL since:
* it's in a "while (n1 && n2)" block
* and it's not modified before
CID #
1405868
Edward Hervey [Fri, 26 May 2017 15:44:40 +0000 (17:44 +0200)]
nonstreamaudio: Avoid using wrong variable
And to make that 100% obvious, only use variables declared within the
switch cases instead of function-wide ones.
Also remove useless one-time-use-only variable.
CID #
1409857
Edward Hervey [Fri, 26 May 2017 15:41:39 +0000 (17:41 +0200)]
nonstreamaudio: Avoid using un-initialized value
We would end up with cur_position not set but proceed being at its
default value of TRUE. Instead, properly set proceed to FALSE
CID #
1409855
Edward Hervey [Fri, 26 May 2017 15:30:10 +0000 (17:30 +0200)]
adaptivedemux: Fix debugging message
GstSegment position is a guint64 and not a gint64
CID #
1409910
Edward Hervey [Thu, 25 May 2017 07:48:53 +0000 (09:48 +0200)]
adaptivedemux: Check live seeking range more often
The live seeking range was only checked when doing actual seeks. This was
assuming that the rate would always be 1.0 (i.e. the playback would
advance in realtime, and therefore fragments would always be available
since the seeking window moves at the same rate).
With non-1.0 rates, this no longer becomes valid, and therefore we need
to check whether we are still within the live seeking range when advancing.
https://bugzilla.gnome.org/show_bug.cgi?id=783075
Edward Hervey [Thu, 25 May 2017 14:42:03 +0000 (16:42 +0200)]
adaptivedemux: Don't create invalid event
tags could potentially be NULL
Matthew Waters [Fri, 2 Dec 2016 06:51:57 +0000 (17:51 +1100)]
adaptivedemux: retry download MAX_DOWNLOAD_RETRY_COUNT times before erroring
What we want is to retry downloading the fragment on 4xx/5xx errors
however returning EOS will cause waiting for a manifest update for live
(which may be a really long time) or stop everything for non-live.
Change that to only return EOS/ERROR once we've reached the error limit.
https://bugzilla.gnome.org/show_bug.cgi?id=776609
Sebastian Dröge [Thu, 25 May 2017 10:06:03 +0000 (13:06 +0300)]
gl: Fix indentation
Sebastian Dröge [Thu, 25 May 2017 10:05:23 +0000 (13:05 +0300)]
glframebuffer: #define GL_READ_FRAMEBUFFER / GL_DRAW_FRAMEBUFFER if not defined yet
Just like we do elsewhere already.
Haihua Hu [Thu, 25 May 2017 03:05:47 +0000 (11:05 +0800)]
glformat: fix the usage of GST_GL_RGB565
GL_RGB565 is sized internal glformat, the corresponding glformat
should be GL_RGB and type is GL_UNSIGNED_SHORT_565. Otherwise will
return GL_INVALID_ENUM when creating texture.
https://bugzilla.gnome.org/show_bug.cgi?id=783066
Haihua Hu [Thu, 25 May 2017 02:09:04 +0000 (10:09 +0800)]
glframebuffer: check frame buffer status need use specific fbo target
https://bugzilla.gnome.org/show_bug.cgi?id=783065
Sebastian Dröge [Wed, 24 May 2017 08:47:47 +0000 (11:47 +0300)]
openmpt: Fix compilation with 0.2.7386 as in Debian
The OPENMPT_API_VERSION_AT_LEAST macro does not exist.
Olivier Crête [Mon, 22 May 2017 21:06:01 +0000 (23:06 +0200)]
tests: Make audiomixer test_clip verify the resulting timestamps too
Olivier Crête [Mon, 22 May 2017 22:53:57 +0000 (00:53 +0200)]
aggregator: Process serialized queries through the queue
This ensures that they really get processed in order with
buffers. Just waiting for the queue to be empty is sometimes not
enough as the buffers are dropped from the pad before the result is
pushed to the next element, sometimes resulting in surprising
re-ordering.
Olivier Crête [Mon, 22 May 2017 22:53:23 +0000 (00:53 +0200)]
aggregator: Set flow to FLUSHING on pad stop
Fixes a rare race where the pad is being stopped while doing a query.
Olivier Crête [Mon, 22 May 2017 22:52:27 +0000 (00:52 +0200)]
tests: audiointerleave: Remove drain with manual clock
Now that the queries go onto the queue, you may need to pull the crank
in order for them to be processed, making this test difficult.
Tim-Philipp Müller [Tue, 23 May 2017 08:57:28 +0000 (09:57 +0100)]
Require wildmidi >= 0.4
https://bugzilla.gnome.org/show_bug.cgi?id=768576
Tim-Philipp Müller [Tue, 23 May 2017 08:17:08 +0000 (09:17 +0100)]
wildmidi: include stdint.h for int8_t
Tim-Philipp Müller [Tue, 23 May 2017 07:42:46 +0000 (08:42 +0100)]
win32: update .def file for new base class
https://bugzilla.gnome.org/show_bug.cgi?id=768576
Reynaldo H. Verdejo Pinochet [Mon, 22 May 2017 22:52:33 +0000 (15:52 -0700)]
wildmididec: explicitly cast buffer data to int8 in _decode()
Fixes compiler warning introduced in commit
ff32a4297:
gstwildmididec.c:637:47: error: pointer targets in passing argument 2 of ‘WildMidi_GetOutput’ differ in signedness
WildMidi_GetOutput (wildmidi_dec->song, (char *) (info.data), info.size);
^
wildmidi_lib.h:106:15: note: expected ‘int8_t * {aka signed char *}’ but argument is of type ‘char *’
WM_SYMBOL int WildMidi_GetOutput (midi *handle, int8_t *buffer, uint32_t size);
https://bugzilla.gnome.org/show_bug.cgi?id=768576
Carlos Rafael Giani [Wed, 27 Jul 2016 00:22:26 +0000 (02:22 +0200)]
openmpt: Add openmptdec element
https://bugzilla.gnome.org/show_bug.cgi?id=768576
Carlos Rafael Giani [Wed, 8 Mar 2017 21:17:41 +0000 (22:17 +0100)]
wildmidi: Port to 1.0 on top of the nonstreamaudiodecoder base class
https://bugzilla.gnome.org/show_bug.cgi?id=768576
Carlos Rafael Giani [Tue, 26 Jul 2016 23:41:20 +0000 (01:41 +0200)]
audio: Add nonstreamaudiodecoder base class
https://bugzilla.gnome.org/show_bug.cgi?id=768576
Anders Jonsson [Mon, 22 May 2017 11:46:36 +0000 (13:46 +0200)]
gltestsrc: Fix typo (occured->occurred)
https://bugzilla.gnome.org/show_bug.cgi?id=782947
Tim-Philipp Müller [Sun, 21 May 2017 17:03:02 +0000 (18:03 +0100)]
meson: don't need config.h.meson any longer
Olivier Crête [Sat, 20 May 2017 17:00:23 +0000 (19:00 +0200)]
audioaggregate: Don't hold object locks across calls to aggregate_one
https://bugzilla.gnome.org/show_bug.cgi?id=782878
Olivier Crête [Fri, 18 Nov 2016 19:44:16 +0000 (14:44 -0500)]
aggregator: Request pad templates which are not request pad
https://bugzilla.gnome.org/show_bug.cgi?id=782920
Olivier Crête [Fri, 18 Nov 2016 19:41:54 +0000 (14:41 -0500)]
aggregator: Don't restrict sink pad names
Sink pads could have other names than sink_%u
https://bugzilla.gnome.org/show_bug.cgi?id=782920
Olivier Crête [Sun, 21 May 2017 16:31:59 +0000 (18:31 +0200)]
glbasemixer: Remove unused negotiated member
This is now all handled in GstAggregator, so this code is not
called anymore.
Olivier Crête [Sun, 21 May 2017 13:44:02 +0000 (15:44 +0200)]
videoaggregator: Declare that it supports the video meta on input
https://bugzilla.gnome.org/show_bug.cgi?id=782918
Olivier Crête [Sun, 21 May 2017 13:30:10 +0000 (15:30 +0200)]
gl*mixer: Use propose_allocation from the GstAggregator base class
https://bugzilla.gnome.org/show_bug.cgi?id=782918
Olivier Crête [Sun, 21 May 2017 13:19:17 +0000 (15:19 +0200)]
aggregator: Implement propose allocation
https://bugzilla.gnome.org/show_bug.cgi?id=782918
Olivier Crête [Sun, 21 May 2017 12:34:13 +0000 (14:34 +0200)]
aggregator: Check for the result of caps events
https://bugzilla.gnome.org/show_bug.cgi?id=782918
Olivier Crête [Sun, 21 May 2017 12:28:00 +0000 (14:28 +0200)]
aggregator: Caps event always goes to the aggregate thread
So no need to check it here.
https://bugzilla.gnome.org/show_bug.cgi?id=782918
Carlos Rafael Giani [Tue, 9 May 2017 21:59:04 +0000 (23:59 +0200)]
gl/viv-fb: Fix user-choice string comparisons
https://bugzilla.gnome.org/show_bug.cgi?id=782921
Carlos Rafael Giani [Sun, 21 May 2017 13:26:12 +0000 (15:26 +0200)]
qmlglsink: Add dummy texture that is shown as placeholder for NULL buffers
https://bugzilla.gnome.org/show_bug.cgi?id=782917
Tim-Philipp Müller [Sun, 21 May 2017 14:15:48 +0000 (15:15 +0100)]
win32: update .def file for new exports
Olivier Crête [Sat, 20 May 2017 16:10:29 +0000 (18:10 +0200)]
videoaggregator: Create normal video pool as a fallback
https://bugzilla.gnome.org/show_bug.cgi?id=746529
Olivier Crête [Sat, 20 May 2017 15:59:19 +0000 (17:59 +0200)]
audioaggregator: Use downstream allocator and params if available
https://bugzilla.gnome.org/show_bug.cgi?id=746529
Olivier Crête [Sat, 20 May 2017 15:35:43 +0000 (17:35 +0200)]
glbasemixer: Remove own decide_allocation, use GstAggregator's
https://bugzilla.gnome.org/show_bug.cgi?id=746529
Olivier Crête [Sat, 20 May 2017 15:30:06 +0000 (17:30 +0200)]
glbasemixer: Use aggregator for allocation handling
https://bugzilla.gnome.org/show_bug.cgi?id=746529
Olivier Crête [Sat, 20 May 2017 15:25:16 +0000 (17:25 +0200)]
videoaggregator: Get the buffer from the pool if available
https://bugzilla.gnome.org/show_bug.cgi?id=746529
Olivier Crête [Sat, 20 May 2017 14:58:54 +0000 (16:58 +0200)]
aggregator: Add downstream allocation query
https://bugzilla.gnome.org/show_bug.cgi?id=746529
Olivier Crête [Sun, 21 May 2017 10:41:53 +0000 (12:41 +0200)]
videoaggregator: Return to parent on reconfigure
The caps negotiation is now in the parent, so need to return there
if a reconfiguration is needed, otherwise it will loops forever.
Tim-Philipp Müller [Sun, 21 May 2017 10:44:37 +0000 (11:44 +0100)]
gl: x11: fix compiler warning
Matthew Waters [Sun, 21 May 2017 10:03:01 +0000 (12:03 +0200)]
glcontext: add public swap_buffers function
That simply calls the implementation
Tim-Philipp Müller [Sun, 21 May 2017 09:57:18 +0000 (10:57 +0100)]
examples: gl: remove ancient bitrotten .vcproj files
Graham Leggett [Sat, 20 May 2017 16:22:10 +0000 (16:22 +0000)]
adaptivedemux: fix debug message printf format
Match gsize to G_GSIZE_FORMAT in the debug message.
https://bugzilla.gnome.org/show_bug.cgi?id=782873
Tim-Philipp Müller [Sat, 20 May 2017 16:04:52 +0000 (17:04 +0100)]
win32: update .def file for API removal
Olivier Crête [Sat, 20 May 2017 15:47:04 +0000 (17:47 +0200)]
audiointerleave: Take object lock while modifying channel count
Olivier Crête [Sat, 20 May 2017 13:56:16 +0000 (15:56 +0200)]
aggregator: Remove unused GST_FLOW_NOT_HANDLED
Matthew Waters [Sat, 20 May 2017 12:24:57 +0000 (14:24 +0200)]
aggregator: add simple support for caps handling
Modelled off the videoaggregator caps handling as that seems the most
mature aggregtor-using implementation that has caps handling there is.
https://bugzilla.gnome.org/show_bug.cgi?id=776931
Nicolas Dufresne [Sat, 20 May 2017 11:10:53 +0000 (13:10 +0200)]
aggregator: Reset upstream latency on first buffer
In the case an aggregator is created and pads are requested but only
linked later, we end up never updating the upstream latency.
This was because latency queries on pads that are not linked succeed,
so we never did a new query once a live source has been linked, so the
thread was never started.
https://bugzilla.gnome.org/show_bug.cgi?id=757548
George Kiagiadakis [Tue, 4 Apr 2017 08:25:43 +0000 (11:25 +0300)]
videoaggregator: delay using new caps from a sink pad until the next buffer in the queue is taken
When caps changes while streaming, the new caps was getting processed
immediately in videoaggregator, but the next buffer in the queue that
corresponds to this new caps was not necessarily being used immediately,
which resulted sometimes in using an old buffer with new caps. Of course
there used to be a separate buffer_vinfo for mapping the buffer with its
own caps, but in compositor the GstVideoConverter was still using wrong
info and resulted in invalid reads and corrupt output.
This approach here is more safe. We delay using the new caps
until we actually select the next buffer in the queue for use.
This way we also eliminate the need for buffer_vinfo, since the
pad->info is always in sync with the format of the selected buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=780682
Olivier Crête [Sat, 14 May 2016 13:52:37 +0000 (15:52 +0200)]
aggregator: Always handle sync'ed events on output thread
Having all synchronized events always be handled on the output
thread should make synchronization easier.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 6 Jul 2016 20:39:17 +0000 (16:39 -0400)]
aggregator: Delay clipping to output thread
This is required because the synchronized events like caps or segments
may only be processed on the output thread.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Thu, 7 Jul 2016 20:13:57 +0000 (16:13 -0400)]
aggregator: Make pad eos as soon as all buffers are processed, dont way for events
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Thu, 7 Jul 2016 15:47:40 +0000 (11:47 -0400)]
aggregator: Only count buffers when declaring queue full
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 6 Jul 2016 21:28:11 +0000 (17:28 -0400)]
tests: Test caps using query
Sending an event can accepted event if the caps were rejected
because the event could be queued and processed later.
Also send a drain query in the caps test to make sure that the
event has been processed.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 6 Jul 2016 20:41:44 +0000 (16:41 -0400)]
aggregator: Simplify clip function
The return value was ignored anyway
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Sun, 15 May 2016 13:04:58 +0000 (16:04 +0300)]
aggregator: Only declare first buffer on actual buffer
The function needs to be unlocked if any data is received, but only
end the first buffer processing on an actual buffer, synchronized events
don't matter on the first buffer processing.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 10 May 2017 00:20:07 +0000 (20:20 -0400)]
aggregator: Set initial position on first buffer
Set the initial position on the first buffer, otherwise the queue
will grow without limits before the output thread is started.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 10 May 2017 00:06:29 +0000 (20:06 -0400)]
aggregator: Reset the pad's first buffer flag with the rest
There is not reason to have separate code to reset this one.
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 10 May 2017 00:05:55 +0000 (20:05 -0400)]
aggregator: Reset pad on init
Factor out the pad reset code from the flushing and use it on init as well
https://bugzilla.gnome.org/show_bug.cgi?id=781673
Olivier Crête [Wed, 10 May 2017 00:13:58 +0000 (20:13 -0400)]
aggregator: Fix indentation
https://bugzilla.gnome.org/show_bug.cgi?id=781673
fvanzile [Thu, 23 Feb 2017 23:42:08 +0000 (15:42 -0800)]
glcontext: keep a ref to the active thread
With the macOS/iOS implementations, the active thread can change
multiple times over the life of a pipeline which would expose a race in
the thread tracking.
Fix by taking a ref on the active thread while the context is active.
https://bugzilla.gnome.org/show_bug.cgi?id=779202
Tim-Philipp Müller [Sat, 20 May 2017 14:04:45 +0000 (15:04 +0100)]
meson: add options to set package name and origin
https://bugzilla.gnome.org/show_bug.cgi?id=782172
Josep Torra [Sat, 20 May 2017 10:34:27 +0000 (12:34 +0200)]
examples: fix macOS 9.12 deprecation warnings
Add #defines to allow older versions of macOS to use the new constant names.
Josep Torra [Sat, 20 May 2017 10:19:08 +0000 (12:19 +0200)]
cocoa: fix a recently introduced typo
Fixes gstgldisplay_cocoa.m:175:26: error: use of undeclared identifier 'singletone'.
Josep Torra [Sat, 20 May 2017 10:16:50 +0000 (12:16 +0200)]
cocoa: fix macOS 10.12 deprecation warnings
Add #defines to allow older versions of macOS to use the new constant names.
Sebastian Dröge [Mon, 17 Apr 2017 11:43:49 +0000 (14:43 +0300)]
dashdemux: Use correct (sub) fragment start when clipping chunk size
If we didn't download anything yet, we shouldn't use fragment.start but
the start position of the current sidx entry.
Sebastian Dröge [Mon, 17 Apr 2017 11:25:10 +0000 (14:25 +0300)]
dashdemux: Make sure to pass the next buffer after a seek with DISCONT flag
When we manually seek for skipping ahead in keyunit-only trickmode, we
have to enforce that ourselves as adaptivedemux does not know about the
seeks.
Sebastian Dröge [Sat, 15 Apr 2017 08:55:34 +0000 (11:55 +0300)]
dashdemux: Ensure that we never ever download over the current SIDX entry
Even if downloading more than needed to try to get the moof and first
keyframe both together.
Sebastian Dröge [Thu, 13 Apr 2017 19:49:29 +0000 (22:49 +0300)]
dashdemux: Take SIDX entry timestamp/duration into account for keyunit-only mode
And not the whole segment's timestamp/duration
Sebastian Dröge [Thu, 13 Apr 2017 14:12:26 +0000 (17:12 +0300)]
dashdemux: Reset parsing state correctly in various places
Sebastian Dröge [Thu, 13 Apr 2017 11:51:07 +0000 (14:51 +0300)]
dashdemux: Reset previous target_time when seeking
Sebastian Dröge [Mon, 3 Apr 2017 13:47:58 +0000 (16:47 +0300)]
dashdemux: Smooth out skip distances in keyframe-only trick modes
This ensures smoother playback. It looks weird if we first do a big
jump, then play a couple of consecutive frames, just to again skip ahead
quite a bit because we ran late again.
Sebastian Dröge [Mon, 3 Apr 2017 12:51:43 +0000 (15:51 +0300)]
dashdemux: Take configure max bitrate/framerate into account for keyframe skipping
And by default only produce up to 10 fps.
Sebastian Dröge [Mon, 3 Apr 2017 12:48:13 +0000 (15:48 +0300)]
dashdemux: Try harder to not run into a loop over the same fragment over and over
While still making sure to not jump ahead one fragment further than
needed.
Sebastian Dröge [Wed, 15 Mar 2017 15:47:53 +0000 (17:47 +0200)]
dashdemux: Add some debug output to the target time selection
Sebastian Dröge [Tue, 28 Mar 2017 11:12:12 +0000 (14:12 +0300)]
dashdemux: Use the current clock running time in addition to the QoS earliest time
Sebastian Dröge [Mon, 27 Mar 2017 14:52:36 +0000 (17:52 +0300)]
dashdemux: Download keyframes from the current position if we're far enough ahead
Far enough here means more than 500ms or 4 times the average keyframe
download time. There is no need to jump ahead by one average keyframe
download time in this case.
This makes playback smooth if the network is fast enough.
Sebastian Dröge [Wed, 22 Mar 2017 10:05:20 +0000 (12:05 +0200)]
dashdemux: Fix sync sample selection based on target time in reverse playback mode
Sebastian Dröge [Wed, 22 Mar 2017 09:21:47 +0000 (11:21 +0200)]
dashdemux: Snap-seek for skipping ahead and use actual keyframe distance in the current fragment if applicable
Sebastian Dröge [Wed, 15 Mar 2017 14:47:59 +0000 (16:47 +0200)]
dashdemux: Don't adjust for fragment duration twice when seeking ahead in KEYUNITS mode
Sebastian Dröge [Wed, 15 Mar 2017 14:46:55 +0000 (16:46 +0200)]
dashdemux: Add current fragment duration in reverse playback mode to the position
We play from the end of the fragment to the beginning, not from the
beginning backwards.
Sebastian Dröge [Wed, 15 Mar 2017 14:45:33 +0000 (16:45 +0200)]
dashdemux: Never take more than the current fragment duration for estimations inside the fragment
Taking the average might give us from results.
Sebastian Dröge [Mon, 6 Mar 2017 12:27:20 +0000 (14:27 +0200)]
dashdemux: Don't increase current position if we just downloaded the moof in KEYUNIT mode
Edward Hervey [Thu, 12 Jan 2017 14:54:37 +0000 (15:54 +0100)]
dashdemux: Improve key-unit trick mode downloading
When dealing with key-unit trick mode downloads, the goal is to
provide the best "Quality of Experience". This is achieved by:
1) maximizing the number of frames displayed per second
2) avoiding "stalling" as much as possible (i.e. not downloading and
decoding frames fast enough)
This implementation achives this by:
1) Knowing very precisely the current keyframe being download (i.e
more accurate than at the fragment level which might contain more
than one keyfram). This is the new "actual_position" variable
introduced by this commit
2) Knowing the position of downstream (provided by QoS and stored
in the adaptivedemuxstream qos_earliest_time variable)
3) Knowing how long it takes to request and fully download a keyframe
(the average_download_time variable)
Taking those 3 variables into account, whenever a keyframe has been
pushed downstream we calculate a "target time" (target_time variable)
which is the ideal next keyframe time to request so that:
1) It will be requested/downloaded/demuxed/decoded in time to be
displayed without being too late
2) It will not be too far ahead that it would cause too few frames
per second to be displayed.
How far ahead we will request is inversily proportional to how close
the actual position (actual_position) is from the downstream
position (qos_earliest_time). The more is buffered between the source
and the sink, the "closer" the target time will be, and therefore
the more frames per seconds will be displayed (up to the limit
of keyframes_per_second * absolute_rate).
Edward Hervey [Wed, 11 Jan 2017 16:11:27 +0000 (17:11 +0100)]
dashdemux: Store average download time
This will be used to bound the download rate when working in
keyframe-only trick mode
Edward Hervey [Wed, 11 Jan 2017 16:08:36 +0000 (17:08 +0100)]
adaptivedemux: Add various comments to the code
Edward Hervey [Tue, 15 Nov 2016 07:13:27 +0000 (08:13 +0100)]
adaptivedemux: Store QoS time
Allows subclasses to know where downstream is and make decisions
based upon that
Sebastian Dröge [Thu, 1 Sep 2016 14:47:11 +0000 (17:47 +0300)]
dashdemux: Collect keyunit distance and size statistics
Edward Hervey [Mon, 7 Nov 2016 11:22:09 +0000 (12:22 +0100)]
dashdemux: Disable bitrate switching in key-unit trick mode
This creates too much havoc for now
Edward Hervey [Mon, 31 Oct 2016 09:08:35 +0000 (10:08 +0100)]
dashdemux: Use new adaptivedemux trickmode macro
Reduces the lines of code, and makes it a bit more readable
Edward Hervey [Mon, 31 Oct 2016 09:08:04 +0000 (10:08 +0100)]
adaptivedemux: Add a macro to know if we are in trickmode-keyunit
Reduces the amount of lines of code in subclasses
Jan Schmidt [Thu, 18 May 2017 13:57:22 +0000 (15:57 +0200)]
uvch264src: Apply timestamps to outgoing aux buffers
When extracting an aux buffer from an MJPG carrier, at
*least* put the original timestamp on it, even if we
fail to apply any other timestamp (which we always do
at the moment, because the timestamp calculating code
was never finished). Apply a DTS using the camera
supplied delay value as well, assuming that there's
no re-ordering going on (there isn't in the C920,
which is really the only extant camera doing this
stuff) and a warning if that turns out not to be true.
Simon Himmelbauer [Thu, 18 May 2017 12:23:14 +0000 (15:23 +0300)]
qt: Use GST_GL_HAVE_PLATFORM_CGL instead of GST_GL_HAVE_PLATFORM_COCOA
The latter is not used/available anymore since years. Also fix a typo
in the include path for the Cocoa GL display header.
Dmitry Zhadinets [Sun, 7 May 2017 19:50:00 +0000 (19:50 +0000)]
motioncells: delay motionmaskcoords until caps arrive
motionmaskcoords is not applied on start because the information
about resolution isn't available until caps arrive.
https://bugzilla.gnome.org/show_bug.cgi?id=768666