Closed
Bug 1083609
Opened 10 years ago
Closed 6 years ago
Crash playing video
Categories
(Firefox OS Graveyard :: General, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: cjones, Unassigned)
References
Details
It's here Program received signal SIGSEGV, Segmentation fault. mozilla::gl::GLContext::MakeCurrent (this=0xe, aForce=false) at /home/cjones/mozilla/b2g/gecko/gfx/gl/GLContext.h:3244 3244 return mSymbols.fUseProgram == nullptr; (gdb) bt #0 mozilla::gl::GLContext::MakeCurrent (this=0xe, aForce=false) at /home/cjones/mozilla/b2g/gecko/gfx/gl/GLContext.h:3244 #1 0xb480daec in mozilla::layers::GrallocTextureSourceOGL::SetTextureBackendSpecificData (this=0xae302100, aBackendData=0xadb18bc0) at /home/cjones/mozilla/b2g/gecko/gfx/layers/opengl/GrallocTextureHost.cpp:242 #2 0xb4807754 in mozilla::layers::GrallocTextureHostOGL::SetCompositableBackendSpecificData (this=0xaf94dfa0, aBackendData=0xaf1a6b40) at /home/cjones/mozilla/b2g/gecko/gfx/layers/opengl/GrallocTextureHost.cpp:538 #3 0xb47dee24 in mozilla::layers::ImageHost::Composite (this=0xae145a60, aEffectChain=<value optimized out>, aOpacity=<value optimized out>, aTransform=<value optimized out>, aFilter=..., aClipRect=..., aVisibleRegion=0x0) at /home/cjones/mozilla/b2g/gecko/gfx/layers/composite/ImageHost.cpp:100 #4 0xb47e16dc in mozilla::layers::ImageLayerComposite::RenderLayer ( this=0xaeecd400, aClipRect=<value optimized out>) at /home/cjones/mozilla/b2g/gecko/gfx/layers/composite/ImageLayerComposite.cpp:112 #5 0xb47e7618 in mozilla::layers::RenderLayers<mozilla::layers::ContainerLayerComposite> (aContainer=<value optimized out>, aManager=0xaf9e1ac0, aClipRect=...) at /home/cjones/mozilla/b2g/gecko/gfx/layers/composite/ContainerLayerComposite.cpp:325 The problem is that we're using a BasicCompositor, but apparently have allocated gralloc memory for the video frames. We probably need to extend bug 1082895, but I'm not sure how deeply gralloc is baked into FFOS video playback these days.
Comment 1•10 years ago
|
||
DisableGralloc() is used in TextureClient::CreateForDrawing(). TextureClient::CreateForDrawing() is a function for general layers(CompositableClients). In gonk, camera and hw video codec uses ANativeWindow(GonkNativeWindow). It is gonk specific and works only by using gralloc buffers. Therefore, GonkNativeWindow directly allocate GrallocTextureClientOGL as TextureClient. like the following. http://dxr.mozilla.org/mozilla-central/source/widget/gonk/nativewindow/GonkNativeWindowICS.cpp#323 About overview of the current architecture, the following diagrams might help. https://github.com/sotaroikeda/firefox-diagrams/blob/master/dom/dom_camera_FirefoxOS_2_1.pdf?raw=true https://github.com/sotaroikeda/firefox-diagrams/blob/master/gfx/gfx_ImageBridge_FirefoxOS_2_1.pdf Other diagrams are in the following. https://github.com/sotaroikeda/firefox-diagrams/wiki/Firefox-Diagrams
Comment 2•10 years ago
|
||
video playback could be possible without using gralloc if we do not instantiate GonkNativeWindow for OMXCodec. But this code path is not used recently and it requests one extra video data copy.
Reporter | ||
Comment 3•10 years ago
|
||
Thanks, good to know! :)
Comment 4•6 years ago
|
||
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•