- Oct 28, 2016
-
-
Nicolas Dufresne authored
This uses the GstWlClock to schedule frames. This is a first implementation, some improvement are required. *Implement preroll handling* We need to wait for the preroll to complete before rendering another frame. See gst_base_sink_wait_preroll() *Handle play/pause transition* We need to immediatly render any pending frame when going to pause. And we need to reset the clock calibration when doing to pause in case the master clock was not progressing like an audio clock.
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
This fixes the GstWlCLock implementation which was wrongly assuming one could have both access to the control pipe and be able to use the flushing mechanism.
-
Nicolas Dufresne authored
Add a adjust function that does not change the internal state of the clock. Otherwise the time will freeze and cause hangs.
-
- Oct 25, 2016
-
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
If the compositor supports presentation feedback we created a clock derived from system clock which would mean 2 threads per sink. Instead, implement our own clock over the GstWlDisplay thread.
-
- Oct 21, 2016
-
-
Nicolas Dufresne authored
This is an experiment where we do an immediate estimate of the render delay and update the property.
-
- Oct 18, 2016
-
-
Nicolas Dufresne authored
In slow path, we may need to copy the frame to different type of memory. We can reduce the effect on latency by doing so before waiting on the clock.
-
Nicolas Dufresne authored
This is useful start to analyse the data and figure-out how to use it.
-
- Oct 14, 2016
-
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
This is not strictly related to wayland, it's just a POSIX system clock that supports more clock types. This is needed as the clk_id passed to clock_gettime() can be anything supported on the target OS.
-
Nicolas Dufresne authored
-
Nicolas Dufresne authored
-
- Oct 13, 2016
-
-
There was a small omission in the code. It still worked, but the pool configuration may not have been optimimal.
-
- Oct 12, 2016
-
-
Tim-Philipp Müller authored
Fixes accidental common change when commit patch.
-
If the parent bin can handle it, only add/remove the new/gone stream instead of re-adding/re-moving everything https://bugzilla.gnome.org/show_bug.cgi?id=772742
-
This was a regression. We only have a upstream-id via STREAM_START if we were in push-mode. In pull-mode we need to create one. Note: It would be good to eventually have that method (copied from gst_pad_get_stream_id_internal()) public in the future
-
- Oct 11, 2016
-
-
Some variables were hidden or unused
-
For each MpegTSBaseStream, we have a GstStream object which subclasses can extend with information. For each program a GstStreamCollection is created with all GstStream from each stream.
-
Just have one function to check for private section streams
-
GstHLSDemuxStream inherits GstAdaptiveDemuxStream, not GstAdaptiveDemux. Fixes memory corruption issues. https://bugzilla.gnome.org/show_bug.cgi?id=772704
-
- Oct 09, 2016
-
-
Reynaldo H. Verdejo Pinochet authored
Fixes wrong default failover when parsing libdvbv5 formatted channel configuration files.
-
Reynaldo H. Verdejo Pinochet authored
-
Reynaldo H. Verdejo Pinochet authored
-
Reynaldo H. Verdejo Pinochet authored
-
Reynaldo H. Verdejo Pinochet authored
Avoids relying on the H/W default when the information can be extracted from the configuration file.
-
Reynaldo H. Verdejo Pinochet authored
-
- Oct 08, 2016
-
-
When dealing with TIME-based input, the incoming stream could have potentially changed completely. In order to check whether it did or not, we need to re-check all sections (PAT, PMT...). If it didn't, we will keep using the existing streams/pad, and if it did we will act as if there was a program switch. Fixes HLS streaming with decodebin3/playbin3
-
In order to calculate the *actual* bitrate for downloading a fragment we need to take into account the time since we requested the fragment. Without this, the bitrate calculations (previously reported by queue2) would be biased since they wouldn't take into account the request latency (that is the time between the moment we request a specific URI and the moment we receive the first byte of that request). Such examples were it would be biased would be high-bandwith but high-latency networks. If you download 5MB in 500ms, but it takes 200ms to get the first byte, queue2 would report 80Mbit/s (5Mb in 500ms) , but taking the request into account it is only 57Mbit/s (5Mb in 700ms). While this would not cause too much issues if the above fragment represented a much longer duration (5s of content), it would cause issues with short ones (say 1s, or when doing keyframe-only requests which are even shorter) where the code would expect to be able to download up to 80Mbit/s ... whereas if we take the request time into account it's much lower (and we would therefore end up doing late requests). Also calculate the request latency for debugging purposes and further usage (it could allow us to figure out the maximum request rate for example). https://bugzilla.gnome.org/show_bug.cgi?id=733959 https://bugzilla.gnome.org/show_bug.cgi?id=772330
-
- Oct 06, 2016
-
-
gst_caps_to_string function returned allocated memory. So, It should be freed using g_free function. https://bugzilla.gnome.org/show_bug.cgi?id=772499
-
- Oct 05, 2016
-
-
Matthew Waters authored
Using g_thread_join() in _finalize() handlers may result in a deadlock joining the current thread when the last reference is held by a signal handler. e.g.: error 'Resource deadlock avoided' during 'pthread_join (pt->system_thread, NULL)' The backtrace looks like this: [...] g_thread_join () gst_gl_window_finalize () gst_gl_window_x11_finalize () g_object_unref () g_value_unset () g_signal_emit_valist () g_signal_emit () gst_gl_window_send_mouse_event () gst_gl_window_mouse_event_cb () g_main_dispatch () [..] g_main_loop_run () gst_gl_window_navigation_thread () g_thread_proxy () start_thread () clone ()
-
Matthew Waters authored
When only linking the element, the upload object will be created from _transform_caps() but will never be unreffed as the only case is in _stop(). Add an unref if non-NULL to a new finalize handler for this case.
-
Matthew Waters authored
It's possible that the window may have been destroyed when a winsys event comes in for it. Fixes an assertion in make -C tests/check generic/states.check
-
Matthew Waters authored
Fixes an assertion in make -C tests/check generic/states.check
-
Matthew Waters authored
e.g. the final glGetError() must also be completed on the GL thread
-
Matthew Waters authored
It hasn't been used in ages and is dead code.
-
- Oct 03, 2016