Commit graph

21498 commits

Author SHA1 Message Date
Thibault Saunier
2fb716409c Use the new API to post flow ERROR messages on the bus
https://bugzilla.gnome.org/show_bug.cgi?id=770158
2016-08-26 19:23:31 -03:00
Sebastian Dröge
268c18054d dash: Fix build of unit test 2016-08-26 20:12:21 +03:00
Sebastian Dröge
4734b10c6f dashdemux: Add properties to select maximum allowed width/height and framerate
https://bugzilla.gnome.org/show_bug.cgi?id=770408
2016-08-26 18:12:23 +03:00
Sebastian Dröge
1da1a3afc9 decklinkaudiosink: Fix compiler warning on OS X
While gint64 and int64_t are always the same, clang does not agree with that.

/Applications/Xcode.app/Contents/Developer/usr/bin/make -C decklink
  CXX      libgstdecklink_la-gstdecklinkaudiosink.lo
gstdecklinkaudiosink.cpp:675:79: error: cannot initialize a parameter of type 'int64_t *' (aka 'long long *') with an rvalue of type 'gint64 *' (aka 'long *')
      ret = buf->output->attributes->GetInt (BMDDeckLinkMaximumAudioChannels, &max_channels);
                                                                              ^~~~~~~~~~~~~
./linux/DeckLinkAPI.h:692:87: note: passing argument to parameter 'value' here
    virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0;
                                                                                      ^
2016-08-26 16:05:11 +03:00
Alessandro Decina
8a05102747 applemedia: fix compiler warning 2016-08-26 22:52:41 +10:00
Sebastian Dröge
3b7e0d7de3 decklinkvideosink: Scale down scheduled frame times to milliseconds
Scale down to milliseconds, otherwise at least some hardware has problems
scheduling the frames (or schedules them too slow) and we run out of available
frames.

https://bugzilla.gnome.org/show_bug.cgi?id=770282
2016-08-26 15:49:40 +03:00
Sebastian Dröge
6fdd4d8288 decklinkaudiosink: Add support for 8 and 16 channels 2016-08-26 15:49:40 +03:00
Alessandro Decina
7898bc5810 applemedia: changes to make GL memory mappable on CPU on iOS
This commit introduces IOSGLMemory which is a GLMemory that falls back to
GstAppleCoreVideoMemory for CPU access. This is a temporary solution until
IOSurface gets exposed as a public framework on iOS and so we can use
IOSurfaceMemory on both MacOS and iOS.

https://bugzilla.gnome.org/show_bug.cgi?id=769210
2016-08-26 17:44:48 +10:00
Alessandro Decina
91fea30ff4 gstglupload: make the GLMemoryUpload method output the correct texture-target
Now when used with video/x-raw as input, the GLMemoryUpload method checks for
->tex_target in input GLMemory(es) and sets the output texture-target
accordingly.

Fixes video corruption with a pipeline like avfvideosrc ! video/x-raw !
glimagesink where on macos avfvideosrc pushes RECTANGLE textures but glupload
was configuring texture-target=2D as output.
2016-08-26 17:44:33 +10:00
Thibault Saunier
50473d77cc meson: Make mpegts lib build when using subprojects
The headers passed as parametter are relative to the build dir
basically "../subproject/gst-plugins-bad/gst-libs/gst/mpegts/XXX.h"
but that does not match what is needed at build time when building as
subproject, also we always add current dir as include_dir so we are
safe including directly.

And link mpegtsdemux against the 'math' library as it is needed.
2016-08-25 15:17:17 -03:00
Jan Schmidt
59b3e5944e docs: Expose the opengl plugin and element docs 2016-08-26 03:46:39 +10:00
Jan Schmidt
3d2048e40a videoaggregator: Handle if update_caps() returns EMPTY
Don't assume the returned caps from update_caps() is
non-empty.
2016-08-26 03:25:49 +10:00
Jan Schmidt
9afd71a507 gl: Update glvideomixer doc 2016-08-26 03:25:49 +10:00
Jan Schmidt
9e516b35e3 gl: Add/update docs for glviewconvert, glstereomix
Add some example pipelines for glstereomix, and fix up
the example pipelines for glviewconvert
2016-08-26 03:25:49 +10:00
Jan Schmidt
3ca79c93ba glstereomix: Fix caps negotiation
The videoaggregator negotiation sequence changed some time
back and broke glstereomix. Instead of doing nego incorrectly
in the find_best_format() vfunc, do it directly in the
update_caps() method.
2016-08-26 03:25:49 +10:00
Jan Schmidt
45df74868c glviewconvert: Fix texture target fixation
Don't set the chosen texture-target into the wrong structure.
The input caps may not be writable, and in any case - the
intention was to configure the othercaps. Also, remove an
extra unref - the othercaps ref is consumed by
gst_caps_make_writable already.
2016-08-26 03:25:49 +10:00
Sebastian Dröge
4f6ae1f48c adaptivedemux: Enable bitrate selection for trick mode streaming again
And scale the bitrate with the absolute rate (if it's bigger than 1.0) to get
to the real bitrate due to faster playback.

This allowed in my tests to play a stream with 10x speed without buffering as
the lowest bitrate is chosen, instead of staying/selecting the highest bitrate
and then buffering all the time.

It was previously disabled for not very well specified reasons, which seem to
be not valid anymore nowadays.
2016-08-25 19:52:37 +03:00
Josep Torra
2702d98d6b gitignore: add missing dash_isoff file 2016-08-25 16:33:17 +02:00
Josep Torra
ee3b23efc0 build: fix gst-uninstalled build in osx
Fixes clang: error: argument unused during compilation: '-pthread'
when building the test programs.
2016-08-25 16:28:11 +02:00
Josep Torra
0208168952 build: unconditionally check for video, audio and pbutils modules
Check for modules in configure and use GST_*_LIBS vars to link with
the libraries instead of hardcoding them.
2016-08-25 16:27:41 +02:00
Xabier Rodriguez Calvar
8ada38e8f4 glvideoflip: implement GstVideoDirection interface
It implements now this interface with its video-direction
property. Values are changed to GstVideoOrientationMethod but they have
the same value than the originals.

https://bugzilla.gnome.org/show_bug.cgi?id=768687
2016-08-25 10:17:43 +03:00
Sebastian Dröge
15da533580 fdkaacenc: Implement some automatic bitrate selection
Based on sample rate and channel count, see
http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Recommended_Sampling_Rate_and_Bitrate_Combinations
2016-08-24 19:43:55 +03:00
Sebastian Dröge
a2c03f2b00 player: On redirects, remember the redirect URI separately and don't consider this an URI property change
The application does not know anything about the redirect, and changing its
URI internally will cause confusion.

Also don't reset the subtitle URI.
2016-08-24 14:16:23 +03:00
Sebastian Dröge
e416e79af8 player: Don't report spurious STOPPED state changes when doing transient changes there 2016-08-24 14:10:41 +03:00
Sebastian Dröge
c361907873 player: Ensure that rate is initialized to 1.0 2016-08-24 13:38:53 +03:00
Fredrik Fornwall
c611c6c6c0 opensles: Add opensles.h to noinst_HEADERS
https://bugzilla.gnome.org/show_bug.cgi?id=770326
2016-08-24 13:35:45 +03:00
Sebastian Dröge
c6d389c772 player: De-duplicate rate setting code and always use the property 2016-08-23 15:02:19 +03:00
Sebastian Dröge
fa8bfb3991 player: Protect setter/getter for the configuration with a mutex 2016-08-23 15:02:19 +03:00
Sebastian Dröge
a0f6105204 player: Move subtitle URI setter next to the uri setter
It's confusing to have them a couple of hundred lines apart.
2016-08-23 15:02:19 +03:00
Matej Knopp
26c7ca4c24 vtdec: fix MPEG-2 video caps
Add systemstream=false to caps, otherwise the decoder
may be picked for MPEG-PS files. Also parsed=true,
as video toolbox expects entire frame in
VTDecompressionSessionDecodeFrame.

https://bugzilla.gnome.org/show_bug.cgi?id=770049
2016-08-22 20:25:03 +01:00
Jan Schmidt
1d5b32ee91 adaptivedemux: Fix the previous commit
Remove extra files that were not meant to be added to the commit
2016-08-23 02:13:19 +10:00
Jan Schmidt
389e35d032 adaptivedemux: Fix broken updates loop on live streams
Prevent the manifest update loop from looping endlessly
after a seek event, by clearing the variable that tells
the task function not to immediately exit.
2016-08-23 01:57:55 +10:00
Michael Olbrich
0a63569fd1 adaptivedemux: fix stream exposure condition
The new streams should not be exposed until all streams are done with the
current fragment. The old code is incorrect and actually only checked the
current stream. Fix this by properly checking all streams.

Also, ignore the current stream. The code is only reached when the current
stream finished downloading and since
07f49f15b1 ("adaptivedemux: On EOS, handle it
before waking download loop") download_finished is set after
gst_adaptive_demux_stream_advance_fragment_unlocked() is called.

Without this HLS playback with multiple streams is broken, because the new
streams are never exposed.

https://bugzilla.gnome.org/show_bug.cgi?id=770075
2016-08-23 01:40:39 +10:00
Tim-Philipp Müller
3550fb3a6a meson: remove unused mpg123 build file
mpg123 was moved to ugly.
2016-08-21 16:21:07 +01:00
Nirbheek Chauhan
42af2d66d8 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:35:54 +01:00
Nirbheek Chauhan
7e2b68fe2f plugins: Use stdint.h instead of _stdint.h
_stdint.h is generated by Autotools and we don't really need it. All
supported platforms now ship with stdint.h. The only stickler was MSVC,
and since Visual Studio 2015 it also ships stdint.h now.
2016-08-19 14:42:52 +01:00
Nirbheek Chauhan
950013ff46 win32: Update libgstgl.def 2016-08-19 14:42:01 +01:00
Nirbheek Chauhan
2fb76c89fc codecparsers: Explicitly export functions marked inline
On MSVC, inline functions are not available outside of a file unless
explicitly exported
2016-08-19 14:37:04 +01:00
Luis de Bethencourt
9514d06ab6 rawvideoparse: fix typo in comment
Small typo in the comment explaining the code fixed by the previous commit.
Fixing it.
2016-08-19 12:25:48 +01:00
Sebastian Dröge
a27103b536 rawvideoparse: Revert last commit and actually remember the physically last plane
Instead of just always taking the last one as before.
2016-08-19 14:19:38 +03:00
Luis de Bethencourt
94c5e998c2 rawvideoparse: remove unused assignment
Value in last_plane will be overwritten before used, remove unused
asignment.

Fixes commit 91cf5ac69f
CID 1371462
2016-08-19 11:57:35 +01:00
Philippe Renon
f5d2309c5b daala: fix typo related compilation error
https://bugzilla.gnome.org/show_bug.cgi?id=770102
2016-08-19 13:47:43 +03:00
Tim-Philipp Müller
c8321a3173 applemedia-nonpublic: remove bitrotten plugin that's no longer needed 2016-08-19 11:02:46 +01:00
Florian Zwoch
6de83e0515 avfvideosrc: account for retina displays when capturing screens
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=770030
2016-08-19 19:46:41 +10:00
Matthew Waters
c42eb9932e build: bump graphene requirement to 1.4 2016-08-19 17:11:13 +10:00
Matthew Waters
9d66a3447f gltransformation: rewrite the inverse transformation logic
It now returns the correct values for both orthographic and perspective
projections and takes into account the aspect ratio of the video, handles
the Y-flipping in GL and by us and uses some more helpers from graphene.
2016-08-19 16:09:04 +10:00
Matthew Waters
306e610547 glwindow: marshal gst_gl_window_resize through the window loop
saves having every caller do it themselves.
2016-08-19 16:07:07 +10:00
Matthew Waters
05a0f0002c gl/wayland: use multi-threaded safe event wayland API
Multiple threads may be accessing the wayland fd at the same time which
requires the use of special wayland API to deal with to ensure nobody
will steal reads and cause a stall for anyone else.
2016-08-19 16:06:26 +10:00
Matthew Waters
e6b93e18d3 gl/examples/fxtest: fix up for wayland support
- Pass the wayland display to gst
- Redrawing on resize is no longer needed.
2016-08-19 16:05:33 +10:00
Reynaldo H. Verdejo Pinochet
d31a6f8756 dvb/parsechannels: warn on ignored key/value pairs
Otherwise at runtine, users get the misleading
parsing-OK message with no info on, for example,
properties that failed to map because of a typo.
2016-08-18 11:27:57 -07:00