Commit graph

3563 commits

Author SHA1 Message Date
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