Commit graph

21714 commits

Author SHA1 Message Date
Jan Schmidt
585e60c4ab adaptivedemux: Add more safeguards around state changes.
Make state changes of internal elements more reliable by locking
their state, and ensuring that they aren't blocked pushing data
downstream before trying to set their state.

Add a boolean to avoid starting tasks when the main
thread is busy trying to shut the element down.
2016-07-15 14:33:23 +10:00
Jan Schmidt
5fc21d5c74 adaptivedemux: Add debug code to change bitrate.
Add some disabled-by-default debugging code that forces
bitrate changes by modulating the measured bitrate every
few fragments
2016-07-15 14:33:23 +10:00
Jan Schmidt
03f96dd731 adaptivedemux: More locking/switching fixes
Try harder to make switching pads work better by
making sure concurrent downloads are finished before exposing
a new set of pads.

Release the manifest lock when signalling no-more-pads, as
that can call back into adaptivedemux again
2016-07-15 14:33:23 +10:00
Jan Schmidt
963a273f61 adaptivedemux: Don't switch streams and expose pads while downloading.
If other stream fragments are still downloading but new streams
have been scheduled, don't expose them yet - wait until the last
one finishes. Otherwise, we can cancel a partially downloaded
auxilliary stream and cause a gap.
2016-07-15 14:33:23 +10:00
Jan Schmidt
62ca319927 adaptivedemux: Drop the manifest lock during outbound actions
Drop the manifest lock when performing actions that might
call back into adaptivedemux and trigger deadlocks, such
as adding/removing pads or sending in-band events (EOS).

Unlock the manifest lock when changing the child bin state to
NULL, as it might call back to acquire the manifest lock when
shutting down pads.

Drop the manifest lock while pushing events.
2016-07-15 14:33:23 +10:00
Martin Kelly
a04e6b0cb2 new plugin: Android hardware sensor source
ahssrc is a new plugin that enables Gstreamer to read from the
android.hardware.Sensor Android sensors. These sensors are treated as
buffers and can be passed through and manipulated by the pipeline.

https://bugzilla.gnome.org/show_bug.cgi?id=768110
2016-07-14 17:13:30 -04:00
Stefan Sauer
ea443a3fcc lv2: make it build with older lilv
Implementing the removal of presets is unfortunately not feasibla with
versions < 0.22.
Fixes #768595
2016-07-14 19:40:57 +02:00
Nicolas Dufresne
74c0d5fdd2 webrtcdsp: Add delay-agnostic property
In this mode, we let WebRTC Audio Processing figure-out the delay. This
is useful when the latency reported by the stack cannot be trusted. Note
that in this mode, the leaking of echo during packet lost is much worst.
It is recommanded to use PLC (e.g. spanplc, or opus built-in plc).

In this mode, we don't do any synchronization. Instead, we simply process all
the available reverse stream data as it comes.
2016-07-13 23:17:21 -04:00
Sebastian Dröge
064f46e9e1 jpeg2000parse: Use correct enum type
GST_JPEG2000_SAMPLING_RGB instead of GST_JPEG2000_COLORSPACE_RGB

https://bugzilla.gnome.org/show_bug.cgi?id=768696
2016-07-12 00:02:53 +03:00
Stefan Sauer
ca54ad082e Automatic update of common submodule
From f363b32 to f49c55e
2016-07-11 21:13:58 +02:00
Nicolas Dufresne
f03fc663ef kmssink: Fix offsets handling
The calculation of the offset table was done base on a plane size
estimation. This does not always work. Instead, use memory offset the
same we as it's implement in GstVideoMeta map functions.
2016-07-11 12:07:04 -04:00
Nirbheek Chauhan
a3d58818e8 Fix various gboolean vs GstFlowReturn problems
Caught by building with MSVC which gave warnings for these
2016-07-11 15:02:06 +01:00
Matthew Waters
2ae16c2f68 gl/build: fix configure when --enable-cocoa is passed on OS X
https://bugzilla.gnome.org/show_bug.cgi?id=768553
2016-07-11 11:29:07 +10:00
Stefan Sauer
8330f7aa26 lv2: planning update 2016-07-10 20:44:19 +02:00
Stefan Sauer
13d963fbf0 lv2: keep working with older versions
Provide a fallback impl. for the only new function we were using from 0.22.
Fixes #768595
2016-07-10 20:44:19 +02:00
Tim-Philipp Müller
dae928f14c camerabin: update docs section 2016-07-08 14:42:18 +01:00
Nicolas Dufresne
c57d4f3e5e configure.ac: Cleanup unused variable
We only check for a header, no need for overriding LDFLAGS.
2016-07-07 13:22:47 -04:00
Luis de Bethencourt
6033c37d14 gaudi: fix documentation warning in GstGaussianBlur
Fixing the following warning when generating documentation:
xml/element-gaussianblur.xml:72: element refsect2: validity error :
    ID GstGaussianBlur already defined
<refsect2 id="GstGaussianBlur" role="typedef">
                                             ^
Warning: multiple "IDs" for constraint linkend: GstGaussianBlur.
  DOC   Fixing cross-references
2016-07-07 17:40:43 +01:00
Luis de Bethencourt
3b491a15cb gaudi: fix documentation warning in GstChromium
Fixing the following warning when generating documentation:
xml/element-chromium.xml:74: element refsect2: validity error :
    ID GstChromium already defined
<refsect2 id="GstChromium" role="typedef">
                                         ^
Warning: multiple "IDs" for constraint linkend: GstChromium.
  DOC   Fixing cross-references
2016-07-07 17:40:43 +01:00
Nicolas Dufresne
4d6a21926e webrtcdsp: Relax C++11 check
The library does not require any STL C++11 specific headers.
This fixes our OSX build as we target a SDK version that does not
support C++11 STL.
2016-07-07 12:31:20 -04:00
Nicolas Dufresne
928dcd93ef webrtcdsp: Add Android GNUSTL support 2016-07-07 12:31:03 -04:00
Nicolas Dufresne
17e8533064 webrtcdsp: Set USE_WEBRTCDSP when disabled 2016-07-07 12:27:24 -04:00
Edward Hervey
e4c955e4d7 adaptivedemux: Also consider more seek flags as "snap" seeks
In the case of KEY_UNIT and TRICKMODE_KEY_UNITS seeks, we want to
"snap" to the closest fragment.

Without this, we end up pushing out a segment which does not match
the first fragment timestamp being pushed out, resulting in one or
more buffers being eventually dropped because they are out of segment.
2016-07-07 17:28:57 +02:00
Sebastian Dröge
2aaeb061c4 webrtcdsp: Also allow webrtc-audio-processing 0.3
It seems to work and is the version available in Debian.
2016-07-06 14:29:47 +03:00
Luis de Bethencourt
87a133aad2 musepackdeck: unsigned can't be less than zero
Less-than-zero comparison of an unsigned value, guint64, is never true

CID 1363334
2016-07-06 12:19:32 +01:00
Sebastian Dröge
0122fec530 Back to development 2016-07-06 13:51:06 +03:00
Sebastian Dröge
e06dd97007 Release 1.9.1 2016-07-06 13:07:21 +03:00
Sebastian Dröge
c2bb1c0b59 Update .po files 2016-07-06 11:52:11 +03:00
Sebastian Dröge
f6a8e8a6b0 po: Update translations 2016-07-06 10:19:24 +03:00
Nicolas Dufresne
d992f49cb7 webrtcdsp: Workaround GCC/MingW 4.7 limitations
It refuses to initialize a classes using brackets notation. This is
to allow building using our mingw version.
2016-07-05 09:23:11 -04:00
Nicolas Dufresne
640100fdb6 configure.ac: Add missing double quotes
That affectation was ignored. This worked on recent GCC as C++11 is
enabled by default now.
2016-07-04 15:23:08 -04:00
Stefan Sauer
adf2092b3d lv2: add support for saving presets
Plugns supporting the state interface can now save their presets under '.lv2'.
2016-07-04 21:18:28 +02:00
Stefan Sauer
e9a2c4f1e1 lv2: support for loading presets
Detect if plugins can do presets. Lazily read a list of presets and add support
for loading.
2016-07-04 21:18:28 +02:00
Wim Taymans
6b511fdcd1 musepackdec: port to 1.0 2016-07-04 16:54:53 +02:00
Marcin Lewandowski
b2880cdd03 shmsrc: Do not call gst_poll_remove_fd upon stop if reading was never started
https://bugzilla.gnome.org/show_bug.cgi?id=768365
2016-07-04 12:52:29 +02:00
Reynaldo H. Verdejo Pinochet
e666b3f759 dvb/parsechannels: improve parsing-success message
* Fix typo
* Give information on what was actually parsed
2016-07-01 14:57:40 -07:00
Reynaldo H. Verdejo Pinochet
5f869d8fbd dvb/parsechannels: don't use default conf filename for messages
The file name can be user-defined.
2016-07-01 14:56:13 -07:00
Tim-Philipp Müller
013eaee06b qt: fix build some more when QPA is not available
Compiler would complain about include directory that didn't
exist because QPA_INCLUDE_PATH gets subst-ed regardless
(and if it didn't we'd have just an empty -I argument).

https://bugzilla.gnome.org/show_bug.cgi?id=767553
2016-07-01 19:29:49 +01:00
Luis de Bethencourt
418e643b61 gstjpeg2000parse: no need for else after a goto
else clause is redundant when the end of the if statement is a jump.
If we haven't gone to the beach, we are in the false branch.
2016-07-01 14:08:13 +01:00
Aaron Boxer
154698389d gstjpeg2000parse: improved parsing of jpc magic and j2c box
https://bugzilla.gnome.org/show_bug.cgi?id=767512
2016-07-01 13:15:11 +01:00
Sebastian Dröge
43a2ee8948 adaptivedemux: Add custom flow return for allowing subclasses to specify when a fragment is finished
If it is finished before upstream going EOS.

https://bugzilla.gnome.org/show_bug.cgi?id=767365
2016-07-01 14:11:51 +02:00
Sebastian Dröge
91e398ddd6 dashdemux: Implement SIDX tracking based on buffer offset
This simplifies the code but also removes a bug with tracking of the remaining
size for the initial subfragment: we were not considering the size between the
index and the start of the first moof here.

https://bugzilla.gnome.org/show_bug.cgi?id=764684
2016-07-01 14:10:31 +02:00
Sebastian Dröge
9374643089 dashdemux: Properly keep track of current offset
GstAdapter does not guarantee to pass through all the offsets, we have to keep
track of it ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=764684
2016-07-01 14:10:31 +02:00
Sebastian Dröge
8344854c4c hlsdemux: Properly keep track of current offset
GstAdapter does not guarantee to pass through all the offsets, we have to keep
track of it ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=764684
2016-07-01 14:10:31 +02:00
Sebastian Dröge
3469104a47 hlsdemux: Clear pending data when needed
When switching fragments we don't want to keep any data around from the last
one, and also forget about all data when doing flushing seeks or selecting new
bitrates.

https://bugzilla.gnome.org/show_bug.cgi?id=764684
2016-07-01 14:10:31 +02:00
Sebastian Dröge
ca9f62e1d0 adaptivedemux: Get rid of internal stream adapter and let subclasses handle this directly
This allows subclasses to have more control and especially ensure that they
push data downstream with the correct offsets.

https://bugzilla.gnome.org/show_bug.cgi?id=764684
2016-07-01 14:10:31 +02:00
Tim-Philipp Müller
e92894e4ab codecparsers: jpeg2000: don't allow 0 value for array access with i-1 2016-07-01 12:20:14 +01:00
Tim-Philipp Müller
1462ac7cdf codecparsers: jpeg2000: fix possible out-of-bounds array access
sizeof(array) != G_N_ELEMENTS(array).

CID 1362900
2016-07-01 12:15:28 +01:00
Sebastian Dröge
659032b3d9 openh264enc: Set frame timestamps before sending to the encoder 2016-06-30 23:38:26 +02:00
Sebastian Dröge
27c0a9306e openh264enc: Fix initial time-per-frame calculation 2016-06-30 23:35:33 +02:00