[Bug 705832] eglglesink: support window handle changes in PAUSED

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Aug 13 05:04:51 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=705832
  GStreamer | gst-plugins-bad | unspecified

Jorge Zapata <jzapata> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jzapata at fluendo.com

--- Comment #3 from Jorge Zapata <jzapata at fluendo.com> 2013-08-13 12:04:46 UTC ---
Even if no other sink supports this, it does not mean that the feature is not
useful.

On android, whenever the screen is rotated, first you lose the surface handle
and then you get a new one. That means that if we keep the sink as is, we need
to send the pipeline to READY, change the window id and then go back to the
previous position of the playback, which implies a seek and thus download again
any source that you where downloading, fill the queues again, etc, etc, you get
the idea :)

As you said, the render_region_changed = TRUE is not done from the streaming
thread nor the GL thread, that's why on the android side, we don't set the new
surface until the pipeline has reached the PAUSED state.

So, to be able to change the window while PLAYING, I suppose the streaming
thread/gl thread must be taken. Comparing the window as you propose, is not
possible, nothing guarantees that a new window will be sent to the sink with
the same pointer but a real new window. And thus all the textures/vbo/whatever
context related objects are no longer valid. That's why this patch is to be
able to change the window on PAUSED :)

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list