Sebastian Dröge
20c4dc25fb
player: Consistently use GstVideoMultiviewFramePacking instead of Mode
...
The latter needs additional metadata, and the former was already used
everywhere except for the functions: in properties in playbin itself.
2017-12-16 10:23:41 +02:00
Josep Torra
842d7a9162
cocoa: fix a warning when building in MacOS 10.12
...
gstglwindow_cocoa.m:186:60: error: incompatible pointer types sending 'GstGLContextCocoa *'
(aka 'struct _GstGLContextCocoa *') to parameter of type 'GstGLContext *' (aka 'struct _GstGLContext *')
2017-12-12 08:31:47 +01:00
Víctor Manuel Jáquez Leal
c0d87b5dd3
gl: display: demote error level at display creation error
...
https://bugzilla.gnome.org/show_bug.cgi?id=791391
2017-12-11 22:47:01 +01:00
Nicolas Dufresne
472b8a3736
gldisplay: Prefer wayland over X11
...
As most Wayland compositors supports XWayland, X11 backend get
selected. This also realign better GStreamer decision to what
happens with GTK and other stack out there.
2017-12-02 15:25:38 -05:00
Nicolas Dufresne
69934d0756
gldisplay: Add missing GL API to the doc
2017-12-02 15:25:16 -05:00
Matt Fischer
9f65c316e4
gldownload: Add dmabuf exporting
...
This patch adds code to gldownload to export the image as a
dmabuf if requested. The element now exposes memory:DMABuf as
a cap feature, and if it is selected, the element exports the
texture to an EGL image and then a dmabuf. It also implements a
fallback to system memory download in case the exportation failed.
https://bugzilla.gnome.org/show_bug.cgi?id=776927
2017-12-02 14:49:39 -05:00
Tim-Philipp Müller
d01297e115
Remove GstAggregator from -bad, moved to core
...
https://bugzilla.gnome.org/show_bug.cgi?id=739010
2017-12-02 16:14:36 +00:00
Matthew Waters
a3ce46a454
gl/caopengllayer: use public GstGLContext instead of Cocoa-specific one
...
Allows keeping the GstGLCAOpenGLLayer public but not the winsys-specific
context/display/window.
2017-11-27 15:20:28 +11:00
Matthew Waters
9c20be77e7
Revert "gl: cocoa: sprinkle some GST_EXPORT"
...
This reverts commit 94d798c333
.
cocoac headers don't need to be public as all the functionality can be
provided by the base class
2017-11-27 15:20:12 +11:00
Tim-Philipp Müller
94d798c333
gl: cocoa: sprinkle some GST_EXPORT
...
Undefined symbols for architecture x86_64:
"_gst_gl_context_cocoa_get_type", referenced from:
__create_layer in libgstopengl_la-caopengllayersink.o
Might need some more in other headers, but first need to
clarify what exactly should be exported, there are some
inconsistencies (installed header files vs. funcs in docs).
2017-11-26 22:36:35 +00:00
Tim-Philipp Müller
0ba57d0b8c
codecparsers: mpegvideoparser: remove API that was deprecated 5 years ago
...
Libraries in -bad are not covered by our API/ABI stability
guarantees, and to the best of our knowledge everyone using
this API has moved to the replacement APIs ages ago.
2017-11-26 16:23:16 +00:00
Edward Hervey
f0ba09d10e
videoaggregator: Don't leak string
...
The result of gst_video_colorimetry_to_string () needs to be free'd
2017-11-25 12:49:43 +01:00
Jan Schmidt
c91187c187
viv-fb: Don't destroy the native FB display
...
It causes crashes in applications because the result of
fbGetDisplay() might be in use elsewhere in the application
and Vivante doesn't seem to do any refcounting
2017-11-24 01:48:32 +11:00
Jan Schmidt
b906601c7b
Revert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass"
...
This reverts commit 47fd4d391e
.
This patch is incorrect. It doesn't actually compile, and causes a crash
because the viv-fb window implementation needs a native EGL handle
to pass to fbCreateWindow, but the GstGLDisplayEGL handleis actually
an EGLDisplay now (and gets cast to the wrong type)
2017-11-24 01:48:27 +11:00
Tim-Philipp Müller
73cd56bddb
meson: remove outdated comment in build file
2017-11-23 11:15:49 +01:00
Mathieu Duponchelle
56fc5bef18
aggregator: Remove klass->sinkpads_type
...
This posed problems for the python bindings (and possibly others).
Instead, subclasses now use add_pad_template_with_gtype.
https://bugzilla.gnome.org/show_bug.cgi?id=789986
2017-11-22 16:52:29 +01:00
Edward Hervey
4260f8a120
all: Fix left-shift undefined behaviour
...
Cast to the target type before shifting (or use macro if available)
2017-11-20 17:06:07 +01:00
Matthew Waters
b495af21ac
glbasefilter: actually indicate start internally
...
Otherwise when we stop, the necessary stop functions will not be called
and things may be leaked.
https://bugzilla.gnome.org/show_bug.cgi?id=788280
2017-11-07 00:09:08 +11:00
Tim-Philipp Müller
c4d5181b09
aggregator: add doc blurb for gst_aggregator_pad_is_eos()
2017-11-02 18:33:10 +00:00
Tim-Philipp Müller
6f8961e1d0
aggregator: also remove now-unused PadForeachFunc declaration
...
https://bugzilla.gnome.org/show_bug.cgi?id=785679
2017-11-02 16:05:40 +00:00
Olivier Crête
98ac205a4d
aggregator: Remove pad iterator function
...
Use new gst_element_foreach_sink_pad() from core instead.
https://bugzilla.gnome.org/show_bug.cgi?id=785679
2017-11-02 13:55:08 +00:00
Tim-Philipp Müller
1116bb00ca
aggregator: 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 13:53:15 +00:00
Tim-Philipp Müller
13c730776b
videoaggregator: 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 13:02:14 +00:00
Tim-Philipp Müller
46d40debba
videoaggregator: add CAST macros
2017-11-02 13:02:14 +00:00
Tim-Philipp Müller
c7a8e57852
audioaggregator: 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 13:02:07 +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
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
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
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
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
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
cae591ac06
audioaggregator: move comment to the place it is meant to be
...
This probably got shifted after some changes.
2017-10-14 18:20:30 +02:00
Tim-Philipp Müller
90ec5e580b
videoaggregator: use GstFlowReturn for flow returns
2017-10-13 11:46:09 +01:00
Stefan Sauer
ae8ee0315e
audioaggregator: remove buffer!=NULL check
...
Acording to the logic this cannot happen (we already check this before). So
add a assert like we do above and remove the check. This make it clearer that
we check for the offset range.
Also remove a dead assignment since we reassign this a few lines below.
2017-10-05 18:12:29 +02:00
Stefan Sauer
d8ef396fb0
audioaggreator: update docs
...
Remove wrote references to collectpads. Document the units.
2017-10-05 17:57:35 +02:00
Havard Graff
22f0f11abf
meson: remove vs_module_defs
...
The GST_EXPORT should handle it.
2017-10-05 13:57:48 +01:00
Rico Tzschichholz
4a60566999
meson: Fix namespace and add some missing args in the gir generation
2017-10-05 13:56:46 +01:00
Stefan Sauer
ea5900d12f
audioaggregator: pass blocksize to mix_buffer()
...
No need to recalc the value twice per run. Establishes that it is the same
value.
2017-10-05 08:57:09 +02:00
Stefan Sauer
afa3b968a0
audioaggregator: rename _fill_buffer() to _queue_new_buffer()
...
It does not fill a buffer. Rename it and add a short comment.
2017-10-05 08:57:09 +02:00
Stefan Sauer
7d97004dd7
aggregator: cleanup event forwarding
...
Don't copy the whole event struct. Set the input params when we call the
forwarding helper. Initialize the internal fields and return values in the
helper.
2017-10-05 08:57:09 +02:00
Stefan Sauer
324977fd7c
aggregator: simplify src_event
...
Avoid extra ref/unref, we have a ref and do_seek unrefs. Just return the result
as we have. This lets us remove the local var plus the label.
2017-10-05 08:57:09 +02:00
Reynaldo H. Verdejo Pinochet
0f71d2e408
Use proper GtkDoc notation for NULL/FALSE/TRUE
2017-10-03 14:35:48 -07:00
Reynaldo H. Verdejo Pinochet
88fcf303c5
adaptivedemux: fix typos
2017-10-03 14:35:48 -07:00
Cassandra Rommel
47fd4d391e
gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass
...
This simplifies the code a lot without any functional changes apart from
not closing the display connection. Closing the display connection is
not safe to do as it is shared between all other code in the same
process and no reference counting or anything happens at the platform
layer.
2017-10-03 10:14:51 +02:00
Stefan Sauer
2f62217981
audioaggregator: reduce variable scope
...
This is a non-functional change that makes the code more alike to the previous
check. I should be more obvious when we drop a buffer.
2017-10-02 17:01:36 +02:00
Stefan Sauer
81bbdd9fcd
audioaggregator: update comment for aggregate
...
Replace collect-pads left-over. Remove first paragraph, we're not doing this.
Remove 3), 4) since this is not per pad.
2017-10-02 17:01:36 +02:00
Justin Kim
c74d557127
glcontext_egl: Add gstglwindow header
...
Otherwise, compiler complains implicit function declaration warning.
https://bugzilla.gnome.org/show_bug.cgi?id=788413
2017-10-02 13:33:40 +02:00
Ponnam Srinivas
5df10fa6f3
glfilter: Unmap video frame in error case
...
https://bugzilla.gnome.org/show_bug.cgi?id=788194
2017-09-28 13:59:14 +03:00
Haihua Hu
b738774566
gl/viv-fb: transform screen coordinate to viewport coordinate
...
In y direction, screen coordinate are opposite to viewport coordinate.
https://bugzilla.gnome.org/show_bug.cgi?id=787394
2017-09-19 12:53:53 +10:00
Haihua Hu
039c983a9f
gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize
...
queue_resize viewport coordinate calculate is wrong and
force queue_resize when do _set_render_rectangle in case
user input pos changed
https://bugzilla.gnome.org/show_bug.cgi?id=787394
2017-09-19 12:53:45 +10:00
Stefan Sauer
64526327c9
audioaggregator: fix typo in comment
2017-09-17 21:06:48 -07:00
Stefan Sauer
a2ce51984c
aggregator: register func for do_events_and_queries
...
This fixes logging the func ptr from _iterate_sinkpads().
2017-09-17 21:06:48 -07:00
Stefan Sauer
fcb074af6f
aggregator: only set clipped_buffer to NULL if needed
2017-09-17 12:31:38 -07:00
Stefan Sauer
864cfec839
aggregator: rename check_events
...
This function also handles queries. Update the code to loop until all events and
queuries are handled.
2017-09-17 12:31:38 -07:00
Stefan Sauer
f6176351a2
aggregator: add a few more comments to PadPrivate struct
2017-09-17 12:31:38 -07:00
Stefan Sauer
54d44f31e3
aggregator: rename buffers field to data
...
The queue stores buffers, events and queries.
2017-09-17 11:40:00 -07:00
Stefan Sauer
41a032470e
aggregator: documentaion fixes
...
Fix typos and remove params docs, where the param was moved.
2017-09-17 10:20:09 -07:00
Philippe Renon
085f875a24
player: introduce helper method to remove seek source
...
this incidentally fixes a missing g_source_destroy() call in _main()
https://bugzilla.gnome.org/show_bug.cgi?id=787727
2017-09-15 17:28:12 +03:00
Philippe Renon
9fce29497d
player: remove duplicate state_ret check in play internal
...
https://bugzilla.gnome.org/show_bug.cgi?id=787727
2017-09-15 17:28:12 +03:00
Nicolas Dufresne
9b2e28d91d
Request minimum buffer even if need_pool is FALSE
...
When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.
https://bugzilla.gnome.org/show_bug.cgi?id=730758
2017-09-06 14:19:37 -04:00
Matthew Waters
3f2a3d0db9
gl/wayland: call eglTerminate() before wl_display_disconnect()
...
Calling these two functions in the wrong order will result in
use-after-free inside wayland.
https://bugzilla.gnome.org/show_bug.cgi?id=787293
2017-09-05 21:16:33 +10:00
Matthew Waters
03e96f3ceb
gtkglsink: expose the created display and context correctly
...
1. Propagate the GstGLDisplay we create
2. Add the created GstGLContext to the propagated GstGLDisplay
Otherwise with multi-branch GL pipelines involving gtkglsink, things
will fall apart and errors will be genarated somewhere.
2017-09-05 21:16:33 +10:00
Matthew Waters
63c582d685
gl: fix build for ios/win32/android after 2fd84a6c
...
Some missing GL includes.
2017-08-28 12:57:47 +10:00
Tim-Philipp Müller
3c4dd9a7e5
isoff: make debug category private
...
Otherwise it shows up in .def file in autotools build.
2017-08-26 13:08:27 +01:00
Tim-Philipp Müller
0829891c2c
isoff: export symbols
2017-08-26 12:02:51 +01:00
Seungha Yang
98576325e3
isoff: Add parsing mss specific tfrf and tfxd boxes
...
This code is imported from mssdemux's tfxd/tfrf parsing function
https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:32 -07:00
Seungha Yang
3db9152ec6
isoff: Add parsing moov and tfdt
...
To extract isobmff level timestamp, moov and tfdt parsing is required.
https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:11 -07:00
Seungha Yang
7d06ecb3a4
isoff: Move isoff to gst-libs
...
Also rename unit test dash_isoff to isoff
https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:04 -07:00
Tim-Philipp Müller
4686dc47e4
gl: install new glfuncs.h header
2017-08-25 20:38:08 +01:00
Matthew Waters
0fa19c150f
gl/meson: add build for the vivante fb backend
2017-08-23 16:38:03 +10:00
Matthew Waters
78e73cd359
meson: build allocators library
2017-08-23 16:38:02 +10:00
Matthew Waters
556bed08a1
gl/meson: detect valid configuration from enabled apis/platform/winsys
2017-08-23 16:38:02 +10:00
Matthew Waters
a03f5f5de1
gl/build: also check for the GL/gl.h header
...
In order to successfully build against a detected libGL library we also need headers
2017-08-23 16:38:02 +10:00
Matthew Waters
d8bc42fb30
glutils: fix matrix operations everywhere
...
- correct the matrix multiplication
- Use column-major matrices
- reverse order of matrix multiplications
https://bugzilla.gnome.org/show_bug.cgi?id=785980
2017-08-23 15:32:10 +10:00
Philippe Normand
afa8bf425a
gl/cocoa: fix build after commit 2fd84a6c
2017-08-22 16:19:32 +01:00
Julien Isorce
2fd84a6c86
gl: do not include GL headers in public gstgl headers
...
Except for gst/gl/gstglfuncs.h
It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.
For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.
For example with this patch, if an app includes the headers
gst/gl/egl/gstglcontext_egl.h
gst/gl/egl/gstgldisplay_egl.h
gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.
Also added a test: cd tests/check && make libs/gstglheaders.check
https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 10:00:19 +01:00
Philippe Normand
8a29da8023
player: notify of media-info update after duration change
...
This is a follow-up of 98b0802a98
https://bugzilla.gnome.org/show_bug.cgi?id=786201
2017-08-15 09:38:55 +01:00
Matthew Waters
cbf4a44426
adaptivedemux: start/stop the manifest update loop on liveness or periodic update changes
...
Scenario:
A manifest starts out in live mode but then the recording is finalized
and a subsequent update changes the state to a non-live manifest when
the server has finished recording/transcoding/whatever with the full
list of fragments.
Without this patch, the manifest update task is never stopped on the
live->non-live transition and will busy loop, burning through one CPU
core.
https://bugzilla.gnome.org/show_bug.cgi?id=786275
2017-08-15 15:19:32 +10:00
Tim-Philipp Müller
ddf755b75d
gl: fix build
...
Include private headers for parent class debug categories.
2017-08-14 12:12:34 +01:00
Tim-Philipp Müller
58a92767d4
gl: add missing new header files
...
https://bugzilla.gnome.org/show_bug.cgi?id=786170
2017-08-14 10:11:00 +01:00
Tim-Philipp Müller
a971aa4ba4
gl: make some debug categories private
...
They weren't supposed to be public.
https://bugzilla.gnome.org/show_bug.cgi?id=786170
2017-08-14 10:08:01 +01:00
Philippe Normand
98b0802a98
player: propagate updated duration to media_info
...
https://bugzilla.gnome.org/show_bug.cgi?id=786201
2017-08-14 09:21:29 +01:00
Tim-Philipp Müller
0b8f1f9e54
gl: don't export symbols that are not supposed to be public
...
Make a bunch of symbols private that are currently leaked
accidentally because they have a gst_* prefix and are used
internally. We mark those we can't make static with
G_GNUC_INTERNAL so that they get hidden with the autotools
build as well (although we could just pass -fvisibility=hidden
there too).
2017-08-13 11:09:25 +01:00
Tim-Philipp Müller
957cc0e51a
gl: sprinkle more GST_EXPORT
2017-08-11 14:55:48 +01:00