[gst-hybris] crashes when using playbin without setting a valid texture_id
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gst-plugins-bad1.0 (Ubuntu) |
Fix Released
|
Critical
|
Jim Hodapp |
Bug Description
Using gstreamer1.0-hybris (1.1.4-2ubuntu4), gst crashes inside the media compat layer when trying to use playbin without setting a valid texture_id.
To reproduce:
$ apt-get install libqgsttools-
$ wget http://
$ gst-launch-1.0 -v playbin uri=file:
If you run it with debug, you'll see the SIGSEGV happens inside gstamchybris.
===
err = media_codec_
===
Looking further at the compat layer, this happens when calling the following code (inside hybris):
===
ALOGE(
ALOGE(
d->
===
And it happens because when using just playbin, nobody sets up the texture_id property, and as a side effect there's none surface_texture to use.
Ideally when texture_id is not provided, the sink itself (mirsink) would need to create and provide one, otherwise the pure playbin use case (without qtmultimedia) will be broken, affecting anyone using playbin (mediascanner, qtwebkit, etc).
Related branches
Changed in gst-plugins-bad1.0 (Ubuntu): | |
status: | New → Confirmed |
importance: | Undecided → Critical |
assignee: | nobody → Jim Hodapp (jhodapp) |
What's the use case for this scenario? I'm trying to prioritize this with some other fixes. I knew this would be broken (it wasn't always broken) in the current implementation. The fix is actually to use the platform API to get an EGLNativeWindow to pass to the SurfaceTextureC lientHybris. The tricky part is figuring out exactly when to use an EGLNativeWindow or a texture id.