|
List Info
Thread: Segmentation fault when rendering to framebuffer
|
|
| Segmentation fault when rendering to
framebuffer |

|
2006-10-20 00:25:31 |
|
I have just compiled a helix client which should render direct to the linux framebuffer rather than to an X server. I did this by copying the helix-client-all-defines profile and adding a few extra defines:
project.AddDefines( 'HELIX_CONFIG_NO_XWINDOWS', 'HELIX_FEATURE_LINUX_FB_SITE', 'HELIX_FEATURE_MINI_SITE', 'HELIX_FEATURE_CC_RGB555out')
project.RemoveIncludes('/usr/X11R6/include') project.RemoveSystemPaths('-L/usr/X11R6/lib')
Everything built OK. Just as a test, I tried running it on a machine without an active framebuffer, and (as expected) I got lots of messages like 'Error: cannot open framebuffer device'. This at least confirmed that framebuffer support had been built into the client. After transferring the client to my target machine (which has an active frame buffer - it's driven by a SiS 741 frame buffer device version 1.8.10). I get a seg fault. (full details are below). I suspect this has to do my use of HELIX_FEATURE_CC_RGB555out?
some details about my framebuffer (although it can be setup differently):
root  STV:~/heli x$ fbset
mode "720x576-61" # D: 33.000 MHz, H: 36.184 kHz, V: 60.610 Hz geometry 720 576 720 22869 16 timings 30303 96 24 16 2 72 3 accel true rgba 5/11,6/5,5/0,0/0 endmode
Simpleplayer is looking for the client core at ./hxmedpltfm.so Common DLL path DT_Common=. Plugin path DT_Plugins=. Codec path DT_Codecs=. CHXLinuxFrameBufferSite::CHXLinuxFrameBufferSite() CHXLinuxFrameBufferSite::_Create((nil), 00000000) CHXLinuxFrameBufferSite::_SetSize(400, 224) Device Configured: Sample Rate: 22050 Sample Width: 16 Num channels: 1 Block size: 2200 Device buffer size: 8192 Supports GETOSPACE: 1 Supports GETODELAY: 0 ----------------clip info-------------------- ========Source 0======== ====File Header==== Flags 2 IsRealDataType 1 StreamCount 2 Duration 0 Title (c) British Broadcasting Corporation 0x28 0x63 0x29 0x20 0x42 0x72 0x69 0x74 0x69 0x73 0x68 0x20 0x42 0x72 0x6f 0x61 0x64 0x63 0x61 0x73 0x74 0x69 0x6e 0x67 0x20 0x43 0x6f 0x72 0x70 0x6f 0x72 0x61 0x74 0x69 0x6f 0x6e 0x00 Copyright (c) British Broadcasting Corporation 0x28 0x63 0x29 0x20 0x42 0x72 0x69 0x74 0x69 0x73 0x68 0x20 0x42 0x72 0x6f 0x61 0x64 0x63 0x61 0x73 0x74 0x69 0x6e 0x67 0x20 0x43 0x6f 0x72 0x70 0x6f 0x72 0x61 0x74 0x69 0x6f 0x6e 0x00 Author BBC News 0x42 0x42 0x43 0x20 0x4e 0x65 0x77 0x73 0x00 Information BBC News (c) British Broadcasting Corporation ====Stream 0==== StreamNumber 0 RTPPayloadType 101 AvgBitRate 32041 Duration 174960 SamplesPerSecond 1000 EndOneRuleEndAll 1 AvgPacketSize 558 EndTime 174960 ActualPreroll 2229 Preroll 2229 MaxPacketSize 558 MaxBitRate 32041 TrackEndTime 174960 MaxDecodedSamplesPerSecond 22050 MaxDecodedChannels 1 PostDecodeDelay 1000 RMFF 1.0 Flags 0x00 0x02 0x00 0x02 0x00 0x00 OpaqueData .ra? 0x2e 0x72 0x61 0xfd 0x00 0x05 0x00 0x00 0x2e 0x72 0x61 0x35 0x00 0x00 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x46 0x00 0x07 0x00 0x00 0x02 0x2e 0x00 0x0a 0xc3 0x20 0x00 0x03 0xaa 0xb7 0x00 0x00 0x00 0x00 0x00 0x10 0x02 0x2e 0x00 0x5d 0x00 0x00 0x00 0x00 0x56 0x22 0x00 0x00 0x56 0x22 0x00 0x00 0x00 0x10 0x00 0x01 0x67 0x65 0x6e 0x72 0x63 0x6f 0x6f 0x6b 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x08 0x01 0x00 0x00 0x02 0x02 0x00 0x00 0x18 Control streamid=0 mimetype audio/x-pn-realaudio StreamName Audio Stream intrinsicDurationType intrinsicDurationContinuous ASMRuleBook priority=5,averagebandwidth=32041,PNMKeyFrameRule=T;priority=5,averagebandwidth=0,PNMNonKeyFrameRule=T,OnDepend="0",OffDepend="0"; ====Stream 1==== StreamNumber 1 Duration 174960 RTPPayloadType 101 AvgBitRate 192000 SamplesPerSecond 1000 EndOneRuleEndAll 1 AvgPacketSize 391 Preroll 2858 MaxPacketSize 1089 MaxBitRate 192000 TrackEndTime 174960 FramesPerMSecond 25000000 Width 400 Height 224 FrameWidth 400 FrameHeight 224 PostDecodeDelay 500 RMFF 1.0 Flags 0x00 0x03 0x00 0x02 0x00 0x00 0x00 0x02 OpaqueData 0x00 0x00 0x00 0x22 0x56 0x49 0x44 0x4f 0x52 0x56 0x34 0x30 0x01 0x90 0x00 0xe0 0x00 0x0c 0x00 0x00 0x00 0x00 0x00 0x19 0x00 0x00 0x00 0x08 0x10 0x20 0x40 0x00 0x20 0x00 Control streamid=1 mimetype video/x-pn-realvideo StreamName Video Stream intrinsicDurationType intrinsicDurationContinuous ASMRuleBook #($Bandwidth >= 192000),priority=9,averagebandwidth=192000,PNMKeyFrameRule=T;#($Bandwidth >= 192000),OnDepend="0",priority=5,averagebandwidth=0,PNMNonKeyFrameRule=T;#($Bandwidth < 192000),priority=9,timestampdelivery=T,DropByN=T,PNMThinningRule=T; --------------------------------------------- xres:720 , yres:576 , BBP:16 Segmentation fault
|
| Segmentation fault when rendering to
framebuffer |

|
2006-10-20 14:35:32 |
|
| A backtrace from gdb shows some more info about this, and it looks as if I was right in that it's something to do with the conversion process - not exactly sure what tho... Going to try with some different converters. Is it possible to only recompile the parts that are affected by changing HELIX_FEATURE_CC_RGB555out to something else without needing to rebuild the entire client? and if so, which parts would need recompiling?
#0 0x00000000 in ?? () #1 0xb69deefa in IMAGE_COPY () from ./vidsite.so #2 0xb69dff42 in YUVtoRGB2 () from ./vidsite.so #3 0xb69e0019 in I420toRGB32 () from ./vidsite.so #4 0xb69ce6ea in CMiniBaseSurface::_TransferToDestBuffer () from ./vidsite.so #5 0xb69cb2bb in CLinuxFrameBufferSurface::_TransferToDestBuffer () from ./vidsite.so #6 0xb69ce1c6 in CMiniBaseSurface::Blt () from ./vidsite.so #7 0xb69cdf4f in CMiniBaseSurface::OptimizedBlt () from ./vidsite.so #8 0xb50c5083 in CVideoRenderer::UpdateVideoSurface () from ./rvrender.so #9 0xb50c7e6d in CVideoRenderer::UpdateDisplay () from ./rvrender.so #10 0xb50c8518 in CVideoRenderer::HandleEvent () from ./rvrender.so #11 0xb6b7316d in CHXSiteUserProxy::HandleEvent () from ./hxmedplyeng.so #12 0xb69cbddd in CMiniBaseSite::ForceRedraw () from ./vidsite.so #13 0xb50c4949 in CVideoRenderer::ForceRefresh () from ./rvrender.so #14 0xb50c96b2 in CVideoRenderer::SchedulerCallback () from ./rvrender.so #15 0xb50caf0e in CVideoFormat: ecodeFrame () from ./rvrender.so#16 0xb50c89e4 in CVideoRenderer::OnPacket () from ./rvrender.so #17 0xb6b037b3 in HXPlayer::SendPacket () from ./hxmedplyeng.so #18 0xb6b0d5e8 in HXPlayer::ProcessCurrentEvents () from ./hxmedplyeng.so #19 0xb6b12422 in HXPlayer::ProcessIdle () from ./hxmedplyeng.so #20 0xb6b13562 in HXPlayer::PlayerCallback () from ./hxmedplyeng.so #21 0xb6bb385f in CHXGenericCallback::Func () from ./hxmedplyeng.so #22 0xb7c84547 in PQ::dispatch_element () from ./hxmedpltfm.so #23 0xb7c7dd87 in ClientPQ::execute () from ./hxmedpltfm.so #24 0xb7c5a0d1 in HXScheduler::ExecuteCurrentFunctions () from ./hxmedpltfm.so #25 0xb7c5a3f4 in HXScheduler::OnTimeSync () from ./hxmedpltfm.so #26 0xb7c384e0 in CHXMediaPlatformScheduler::OnTimeSync () from ./hxmedpltfm.so #27 0xb7c37a48 in CHXMediaPlatformKicker::Kick () from ./hxmedpltfm.so #28 0x0804aa99 in DoEvent () #29 0x0804cfa1 in main ()
On 20 Oct 2006, at 01:25, Tom Kirkpatrick wrote: I have just compiled a helix client which should render direct to the linux framebuffer rather than to an X server. I did this by copying the helix-client-all-defines profile and adding a few extra defines:
project.AddDefines( 'HELIX_CONFIG_NO_XWINDOWS', 'HELIX_FEATURE_LINUX_FB_SITE', 'HELIX_FEATURE_MINI_SITE', 'HELIX_FEATURE_CC_RGB555out')
project.RemoveIncludes('/usr/X11R6/include') project.RemoveSystemPaths('-L/usr/X11R6/lib')
Everything built OK. Just as a test, I tried running it on a machine without an active framebuffer, and (as expected) I got lots of messages like 'Error: cannot open framebuffer device'. This at least confirmed that framebuffer support had been built into the client. After transferring the client to my target machine (which has an active frame buffer - it's driven by a SiS 741 frame buffer device version 1.8.10). I get a seg fault. (full details are below). I suspect this has to do my use of HELIX_FEATURE_CC_RGB555out?
some details about my framebuffer (although it can be setup differently):
root  STV:~/heli x$ fbset
mode "720x576-61" # D: 33.000 MHz, H: 36.184 kHz, V: 60.610 Hz geometry 720 576 720 22869 16 timings 30303 96 24 16 2 72 3 accel true rgba 5/11,6/5,5/0,0/0 endmode
Simpleplayer is looking for the client core at ./hxmedpltfm.so Common DLL path DT_Common=. Plugin path DT_Plugins=. Codec path DT_Codecs=. CHXLinuxFrameBufferSite::CHXLinuxFrameBufferSite() CHXLinuxFrameBufferSite::_Create((nil), 00000000) CHXLinuxFrameBufferSite::_SetSize(400, 224) Device Configured: Sample Rate: 22050 Sample Width: 16 Num channels: 1 Block size: 2200 Device buffer size: 8192 Supports GETOSPACE: 1 Supports GETODELAY: 0 ----------------clip info-------------------- ========Source 0======== ====File Header==== Flags 2 IsRealDataType 1 StreamCount 2 Duration 0 Title (c) British Broadcasting Corporation 0x28 0x63 0x29 0x20 0x42 0x72 0x69 0x74 0x69 0x73 0x68 0x20 0x42 0x72 0x6f 0x61 0x64 0x63 0x61 0x73 0x74 0x69 0x6e 0x67 0x20 0x43 0x6f 0x72 0x70 0x6f 0x72 0x61 0x74 0x69 0x6f 0x6e 0x00 Copyright (c) British Broadcasting Corporation 0x28 0x63 0x29 0x20 0x42 0x72 0x69 0x74 0x69 0x73 0x68 0x20 0x42 0x72 0x6f 0x61 0x64 0x63 0x61 0x73 0x74 0x69 0x6e 0x67 0x20 0x43 0x6f 0x72 0x70 0x6f 0x72 0x61 0x74 0x69 0x6f 0x6e 0x00 Author BBC News 0x42 0x42 0x43 0x20 0x4e 0x65 0x77 0x73 0x00 Information BBC News (c) British Broadcasting Corporation ====Stream 0==== StreamNumber 0 RTPPayloadType 101 AvgBitRate 32041 Duration 174960 SamplesPerSecond 1000 EndOneRuleEndAll 1 AvgPacketSize 558 EndTime 174960 ActualPreroll 2229 Preroll 2229 MaxPacketSize 558 MaxBitRate 32041 TrackEndTime 174960 MaxDecodedSamplesPerSecond 22050 MaxDecodedChannels 1 PostDecodeDelay 1000 RMFF 1.0 Flags 0x00 0x02 0x00 0x02 0x00 0x00 OpaqueData .ra? 0x2e 0x72 0x61 0xfd 0x00 0x05 0x00 0x00 0x2e 0x72 0x61 0x35 0x00 0x00 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x46 0x00 0x07 0x00 0x00 0x02 0x2e 0x00 0x0a 0xc3 0x20 0x00 0x03 0xaa 0xb7 0x00 0x00 0x00 0x00 0x00 0x10 0x02 0x2e 0x00 0x5d 0x00 0x00 0x00 0x00 0x56 0x22 0x00 0x00 0x56 0x22 0x00 0x00 0x00 0x10 0x00 0x01 0x67 0x65 0x6e 0x72 0x63 0x6f 0x6f 0x6b 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x08 0x01 0x00 0x00 0x02 0x02 0x00 0x00 0x18 Control streamid=0 mimetype audio/x-pn-realaudio StreamName Audio Stream intrinsicDurationType intrinsicDurationContinuous ASMRuleBook priority=5,averagebandwidth=32041,PNMKeyFrameRule=T;priority=5,averagebandwidth=0,PNMNonKeyFrameRule=T,OnDepend="0",OffDepend="0"; ====Stream 1==== StreamNumber 1 Duration 174960 RTPPayloadType 101 AvgBitRate 192000 SamplesPerSecond 1000 EndOneRuleEndAll 1 AvgPacketSize 391 Preroll 2858 MaxPacketSize 1089 MaxBitRate 192000 TrackEndTime 174960 FramesPerMSecond 25000000 Width 400 Height 224 FrameWidth 400 FrameHeight 224 PostDecodeDelay 500 RMFF 1.0 Flags 0x00 0x03 0x00 0x02 0x00 0x00 0x00 0x02 OpaqueData 0x00 0x00 0x00 0x22 0x56 0x49 0x44 0x4f 0x52 0x56 0x34 0x30 0x01 0x90 0x00 0xe0 0x00 0x0c 0x00 0x00 0x00 0x00 0x00 0x19 0x00 0x00 0x00 0x08 0x10 0x20 0x40 0x00 0x20 0x00 Control streamid=1 mimetype video/x-pn-realvideo StreamName Video Stream intrinsicDurationType intrinsicDurationContinuous ASMRuleBook #($Bandwidth >= 192000),priority=9,averagebandwidth=192000,PNMKeyFrameRule=T;#($Bandwidth >= 192000),OnDepend="0",priority=5,averagebandwidth=0,PNMNonKeyFrameRule=T;#($Bandwidth < 192000),priority=9,timestampdelivery=T,DropByN=T,PNMThinningRule=T; --------------------------------------------- xres:720 , yres:576 , BBP:16 Segmentation fault
|
| Segmentation fault when rendering to
framebuffer |

|
2006-10-20 16:19:30 |
|
| heres a backtrace with the debugging symbols in there... from the first line I see 'dest_bpp=4', does this mean it's looking for a framebuffer set to 4bpp? Mine is set to 8 (I don't think it's possible to set it to 4, and that would look terrible anyway). How can I tell splay to output correctly to my framebuffer?
I have tried using HELIX_FEATURE_CC_RGB555out and ELIX_FEATURE_CC_RGB24out but it doesn't seem to make a difference.
Any help would be greatly appreciate d.
#0 0x00000000 in ?? () #1 0xb5e7da76 in IMAGE_COPY (dest_ptr=0xb3ba9008 "", dest_x=0, dest_y=0, dest_dx=400, dest_dy=224, dest_pitch=1600, dest_bpp=4, src_y_ptr=0xb3c01008 ' 20' <repeats 200 times>..., src_u_ptr=0xb3c16e08 '200' <repeats 200 times>..., src_v_ptr=0xb3c1c588 '200' <repeats 200 times>..., src_x=0, src_y=0, src_dx=400, src_dy=224, src_pitch=400, src_pitch_2=200, dblrow_func=0, dblrow2x_func=0) at yuv2rgb.c:2889 #2 0xb5e7f17d in YUVtoRGB2 (dest_format=0, dest_ptr=0xb3ba9008 "", dest_width=400, dest_height=224, dest_pitch=1600, dest_x=0, dest_y=0, dest_dx=400, dest_dy=224, pY=0xb3c01008 ' 20' <repeats 200 times>..., pU=0xb3c16e08 '200' <repeats 200 times>..., pV=0xb3c1c588 '200' <repeats 200 times>..., src_width=400, src_height=224, yPitch=400, uPitch=200, vPitch=200, src_x=0, src_y=0, src_dx=400, src_dy=224) at yuv2rgb.c:3656 #3 0xb5e7e748 in I420toRGB32 (dest_ptr=0xb3ba9008 "", dest_width=400, dest_height=224, dest_pitch=1600, dest_x=0, dest_y=0, dest_dx=400, dest_dy=224, src_ptr=0xb3c01008 ' 20' <repeats 200 times>..., src_width=400, src_height=224, src_pitch=400, src_x=0, src_y=0, src_dx=400, src_dy=224) at yuv2rgb.c:3525 #4 0xb5dfb3ce in CMiniBaseSurface::_TransferToDestBuffer (this=0x81a5000, pSrcBuffer=0xb3c01008 ' 20' <repeats 200 times>..., pBitmapInfo=0x82198f0, prSrcRect=0xbffcc604, prDstRect=0xbffcc614, pDstBuffer=0xb3ba9008 "", nDstPitch=1600) at minisurf.cpp:461 #5 0xb5df6337 in CLinuxFrameBufferSurface::_TransferToDestBuffer (this=0x81a5000, pSrcBuffer=0xb3c01008 ' 20' <repeats 200 times>..., pBitmapInfo=0x82198f0, prSrcRect=0xbffcc604, prDstRect=0xbffcc614, pDstBuffer=0xb3ba9008 "", nDstPitch=1600) at platform/unix/linux_fb_surf.cpp:176 #6 0xb5dfab8d in CMiniBaseSurface::Blt (this=0x81a5000, pSrcBuffer=0xb3c01008 ' 20' <repeats 200 times>..., pBitmapInfo=0x82198f0, rDestRect= 0xbffcc700, rSrcRect=  0xbffcc6f0 ) at minisurf.cpp:372#7 0xb5dfa81e in CMiniBaseSurface::OptimizedBlt (this=0x81a5000, pSrcBuffer=0xb3c01008 ' 20' <repeats 200 times>..., rDestRect= 0xbffcc700, rSrcRect=  0xbffcc6f0 ) at minisurf.cpp:396#8 0xb6054c9d in CVideoRenderer::UpdateVideoSurface (this=0x81b5648, pVideoSurface=0x81a5000, pVideoPacket=0x821af00, destRect= 0xbffcc700, sorcRect=  0xbffcc6f0 , bOptimizedBlt=1) at vidrend.cpp:3210#9 0xb60557b2 in CVideoRenderer::UpdateDisplay (this=0x81b5648, pEvent=0xbffcc7e0, bSystemEvent=1, bIsVisible=1) at vidrend.cpp:3022 #10 0xb6055a85 in CVideoRenderer::HandleEvent (this=0x81b5648, pEvent=0xbffcc7e0) at vidrend.cpp:2008 #11 0xb69b12c2 in CHXSiteUserProxy::HandleEvent (this=0x82149d0, pEvent=0xbffcc7e0) at siteprxy.cpp:352 #12 0xb5df8678 in CMiniBaseSite::ForceRedraw (this=0x81a4f18) at minisite.cpp:721 #13 0xb6053566 in CVideoRenderer::ForceRefresh (this=0x81b5648) at vidrend.cpp:2735 #14 0xb6056d11 in CVideoRenderer::SchedulerCallback (this=0x81b5648, bIsScheduled=0, bResched=0, bIsVS2Call=0, bProcessUndisplayableFramesOnly=0) at vidrend.cpp:3716 #15 0xb604da33 in CVideoRenderer::BltIfNeeded (this=0x81b5648) at vidrend.h:729 #16 0xb605a026 in CVideoFormat: ecodeFrame (this=0x819dfa8, ulMaxExtraFrames=100) at vidrendf.cpp:626#17 0xb6056540 in CVideoRenderer::OnPacket (this=0x81b5648, pPacket=0x8219c40, lTimeOffset=0) at vidrend.cpp:1145 #18 0xb690a112 in HXPlayer::SendPacket (this=0x8098fb0, pEvent=0x815f558) at hxplay.cpp:5573 #19 0xb69098a6 in HXPlayer::ProcessCurrentEvents (this=0x8098fb0, ulLoopEntryTime=0, bAtInterrupt=0, bFromInterruptSafeChain=0) at hxplay.cpp:5342 #20 0xb691d598 in HXPlayer::ProcessIdle (this=0x8098fb0, bFromInterruptSafeChain=0) at hxplay.cpp:2489 #21 0xb691e3b5 in HXPlayer::PlayerCallback (pParam=0x8098fb0) at hxplay.cpp:8116 #22 0xb6a0661c in CHXGenericCallback::Func (this=0x8098d30) at hxcbobj.cpp:103 #23 0xb7cba634 in PQ::dispatch_element (this=0x808f640, pElem=0x815a8b4) at pq.cpp:463 #24 0xb7cb10e5 in ClientPQ::execute (this=0x808f640, now= {<HXTime> = {<timeval> = {tv_sec = 1124437736, tv_usec = 453750}, <No data fields>}, <No data fields>}) at clientpq.cpp:109 #25 0xb7c7d686 in HXScheduler::_Execute (this=0x808f400, pScheduler=0x808f640, bImmediatesPending= 0xbffccdc8) at hxsched.cpp:404#26 0xb7c7bbd1 in HXScheduler::ExecuteCurrentFunctions (this=0x808f400, bAtInterrupt=0) at hxsched.cpp:490 #27 0xb7c7cdac in HXScheduler::OnTimeSync (this=0x808f400, bAtInterrupt=0) at hxsched.cpp:835 #28 0xb7c4a40a in CHXMediaPlatformScheduler::OnTimeSync (this=0x808f3d8, bAtInterrupt=0) at chxmedpltfmsched.cpp:160 #29 0xb7c4974c in CHXMediaPlatformKicker::Kick (this=0x8091060, ulThreadID=3083647824, pulSuggestedSleep=0xbffcd010) at chxmedpltfmkicker.cpp:319 #30 0x0804aafb in DoEvent () at main.cpp:447 #31 0x0804ebf2 in main (argc=2, argv=0xbffcd654) at main.cpp:2119 On 20 Oct 2006, at 01:25, Tom Kirkpatrick wrote: I have just compiled a helix client which should render direct to the linux framebuffer rather than to an X server. I did this by copying the helix-client-all-defines profile and adding a few extra defines:
project.AddDefines( 'HELIX_CONFIG_NO_XWINDOWS', 'HELIX_FEATURE_LINUX_FB_SITE', 'HELIX_FEATURE_MINI_SITE', 'HELIX_FEATURE_CC_RGB555out')
project.RemoveIncludes('/usr/X11R6/include') project.RemoveSystemPaths('-L/usr/X11R6/lib')
Everything built OK. Just as a test, I tried running it on a machine without an active framebuffer, and (as expected) I got lots of messages like 'Error: cannot open framebuffer device'. This at least confirmed that framebuffer support had been built into the client. After transferring the client to my target machine (which has an active frame buffer - it's driven by a SiS 741 frame buffer device version 1.8.10). I get a seg fault. (full details are below). I suspect this has to do my use of HELIX_FEATURE_CC_RGB555out?
some details about my framebuffer (although it can be setup differently):
root  STV:~/heli x$ fbset
mode "720x576-61" # D: 33.000 MHz, H: 36.184 kHz, V: 60.610 Hz geometry 720 576 720 22869 16 timings 30303 96 24 16 2 72 3 accel true rgba 5/11,6/5,5/0,0/0 endmode
Simpleplayer is looking for the client core at ./hxmedpltfm.so Common DLL path DT_Common=. Plugin path DT_Plugins=. Codec path DT_Codecs=. CHXLinuxFrameBufferSite::CHXLinuxFrameBufferSite() CHXLinuxFrameBufferSite::_Create((nil), 00000000) CHXLinuxFrameBufferSite::_SetSize(400, 224) Device Configured: Sample Rate: 22050 Sample Width: 16 Num channels: 1 Block size: 2200 Device buffer size: 8192 Supports GETOSPACE: 1 Supports GETODELAY: 0 ----------------clip info-------------------- ========Source 0======== ====File Header==== Flags 2 IsRealDataType 1 StreamCount 2 Duration 0 Title (c) British Broadcasting Corporation 0x28 0x63 0x29 0x20 0x42 0x72 0x69 0x74 0x69 0x73 0x68 0x20 0x42 0x72 0x6f 0x61 0x64 0x63 0x61 0x73 0x74 0x69 0x6e 0x67 0x20 0x43 0x6f 0x72 0x70 0x6f 0x72 0x61 0x74 0x69 0x6f 0x6e 0x00 Copyright (c) British Broadcasting Corporation 0x28 0x63 0x29 0x20 0x42 0x72 0x69 0x74 0x69 0x73 0x68 0x20 0x42 0x72 0x6f 0x61 0x64 0x63 0x61 0x73 0x74 0x69 0x6e 0x67 0x20 0x43 0x6f 0x72 0x70 0x6f 0x72 0x61 0x74 0x69 0x6f 0x6e 0x00 Author BBC News 0x42 0x42 0x43 0x20 0x4e 0x65 0x77 0x73 0x00 Information BBC News (c) British Broadcasting Corporation ====Stream 0==== StreamNumber 0 RTPPayloadType 101 AvgBitRate 32041 Duration 174960 SamplesPerSecond 1000 EndOneRuleEndAll 1 AvgPacketSize 558 EndTime 174960 ActualPreroll 2229 Preroll 2229 MaxPacketSize 558 MaxBitRate 32041 TrackEndTime 174960 MaxDecodedSamplesPerSecond 22050 MaxDecodedChannels 1 PostDecodeDelay 1000 RMFF 1.0 Flags 0x00 0x02 0x00 0x02 0x00 0x00 OpaqueData .ra? 0x2e 0x72 0x61 0xfd 0x00 0x05 0x00 0x00 0x2e 0x72 0x61 0x35 0x00 0x00 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x46 0x00 0x07 0x00 0x00 0x02 0x2e 0x00 0x0a 0xc3 0x20 0x00 0x03 0xaa 0xb7 0x00 0x00 0x00 0x00 0x00 0x10 0x02 0x2e 0x00 0x5d 0x00 0x00 0x00 0x00 0x56 0x22 0x00 0x00 0x56 0x22 0x00 0x00 0x00 0x10 0x00 0x01 0x67 0x65 0x6e 0x72 0x63 0x6f 0x6f 0x6b 0x01 0x02 0x00 0x00 0x00 0x00 0x00 0x08 0x01 0x00 0x00 0x02 0x02 0x00 0x00 0x18 Control streamid=0 mimetype audio/x-pn-realaudio StreamName Audio Stream intrinsicDurationType intrinsicDurationContinuous ASMRuleBook priority=5,averagebandwidth=32041,PNMKeyFrameRule=T;priority=5,averagebandwidth=0,PNMNonKeyFrameRule=T,OnDepend="0",OffDepend="0"; ====Stream 1==== StreamNumber 1 Duration 174960 RTPPayloadType 101 AvgBitRate 192000 SamplesPerSecond 1000 EndOneRuleEndAll 1 AvgPacketSize 391 Preroll 2858 MaxPacketSize 1089 MaxBitRate 192000 TrackEndTime 174960 FramesPerMSecond 25000000 Width 400 Height 224 FrameWidth 400 FrameHeight 224 PostDecodeDelay 500 RMFF 1.0 Flags 0x00 0x03 0x00 0x02 0x00 0x00 0x00 0x02 OpaqueData 0x00 0x00 0x00 0x22 0x56 0x49 0x44 0x4f 0x52 0x56 0x34 0x30 0x01 0x90 0x00 0xe0 0x00 0x0c 0x00 0x00 0x00 0x00 0x00 0x19 0x00 0x00 0x00 0x08 0x10 0x20 0x40 0x00 0x20 0x00 Control streamid=1 mimetype video/x-pn-realvideo StreamName Video Stream intrinsicDurationType intrinsicDurationContinuous ASMRuleBook #($Bandwidth >= 192000),priority=9,averagebandwidth=192000,PNMKeyFrameRule=T;#($Bandwidth >= 192000),OnDepend="0",priority=5,averagebandwidth=0,PNMNonKeyFrameRule=T;#($Bandwidth < 192000),priority=9,timestampdelivery=T,DropByN=T,PNMThinningRule=T; --------------------------------------------- xres:720 , yres:576 , BBP:16 Segmentation fault
|
| Segmentation fault when rendering to
framebuffer |

|
2006-10-20 17:27:13 |
Tom Kirkpatrick wrote:
> I have just compiled a helix client which should render
direct to the
> linux framebuffer rather than to an X server. I did
this by copying the
> helix-client-all-defines profile and adding a few extra
defines:
>
> project.AddDefines(
> 'HELIX_CONFIG_NO_XWINDOWS',
> 'HELIX_FEATURE_LINUX_FB_SITE',
> 'HELIX_FEATURE_MINI_SITE',
> 'HELIX_FEATURE_CC_RGB555out')
>
> project.RemoveIncludes('/usr/X11R6/include')
> project.RemoveSystemPaths('-L/usr/X11R6/lib')
>
> Everything built OK. Just as a test, I tried running it
on a machine
> without an active framebuffer, and (as expected) I got
lots of messages
> like 'Error: cannot open framebuffer device'. This at
least confirmed
> that framebuffer support had been built into the
client. After
> transferring the client to my target machine (which has
an active frame
> buffer - it's driven by a SiS 741 frame buffer device
version 1.8.10). I
> get a seg fault. (full details are below). I suspect
this has to do my
> use of HELIX_FEATURE_CC_RGB555out?
>
> some details about my framebuffer (although it can be
setup differently):
>
> root STV:~/helix$ fbset
>
> mode "720x576-61"
> # D: 33.000 MHz, H: 36.184 kHz, V: 60.610 Hz
> geometry 720 576 720 22869 16
> timings 30303 96 24 16 2 72 3
> accel true
> rgba 5/11,6/5,5/0,0/0
> endmode
Yup, looks like your FB is RGB565, not RGB555. But, that
would cause strange
looking video I think, not crashes....
I think you are just going to have to debug it with gdb and
see why
it is crashing...
--greg.
>
> root STV:~/helix$ ./splay
>
rtsp://rmv8.bbc.net.uk/news/olmedia/n5ctrl/summaries/weather
/hc_weather_uk_bb.rm
>
> Simpleplayer is looking for the client core at
./hxmedpltfm.so
> Common DLL path DT_Common=.
> Plugin path DT_Plugins=.
> Codec path DT_Codecs=.
> opening
>
rtsp://rmv8.bbc.net.uk/news/olmedia/n5ctrl/summaries/weather
/hc_weather_uk_bb.rm
> on player 0
> CHXLinuxFrameBufferSite::CHXLinuxFrameBufferSite()
> CHXLinuxFrameBufferSite::_Create((nil), 00000000)
> CHXLinuxFrameBufferSite::_SetSize(400, 224)
> Device Configured:
> Sample Rate: 22050
> Sample Width: 16
> Num channels: 1
> Block size: 2200
> Device buffer size: 8192
> Supports GETOSPACE: 1
> Supports GETODELAY: 0
> ----------------clip info--------------------
> ========Source 0========
> ====File Header====
> Flags 2
> IsRealDataType 1
> StreamCount 2
> Duration 0
> Title (c) British Broadcasting Corporation
> 0x28 0x63 0x29 0x20 0x42 0x72 0x69 0x74
0x69 0x73 0x68
> 0x20 0x42 0x72 0x6f 0x61
> 0x64 0x63 0x61 0x73 0x74 0x69 0x6e 0x67
0x20 0x43 0x6f
> 0x72 0x70 0x6f 0x72
> 0x61 0x74 0x69 0x6f 0x6e 0x00
> Copyright (c) British Broadcasting Corporation
> 0x28 0x63 0x29 0x20 0x42 0x72 0x69 0x74
0x69 0x73 0x68
> 0x20 0x42 0x72 0x6f 0x61
> 0x64 0x63 0x61 0x73 0x74 0x69 0x6e 0x67
0x20 0x43 0x6f
> 0x72 0x70 0x6f 0x72
> 0x61 0x74 0x69 0x6f 0x6e 0x00
> Author BBC News
> 0x42 0x42 0x43 0x20 0x4e 0x65 0x77 0x73
0x00
> Information BBC News (c) British Broadcasting
Corporation
> ====Stream 0====
> StreamNumber 0
> RTPPayloadType 101
> AvgBitRate 32041
> Duration 174960
> SamplesPerSecond 1000
> EndOneRuleEndAll 1
> AvgPacketSize 558
> EndTime 174960
> ActualPreroll 2229
> Preroll 2229
> MaxPacketSize 558
> MaxBitRate 32041
> TrackEndTime 174960
> MaxDecodedSamplesPerSecond 22050
> MaxDecodedChannels 1
> PostDecodeDelay 1000
> RMFF 1.0 Flags
> 0x00 0x02 0x00 0x02 0x00 0x00
> OpaqueData .ra?
> 0x2e 0x72 0x61 0xfd 0x00 0x05 0x00 0x00
0x2e 0x72 0x61
> 0x35 0x00 0x00 0x00 0x00
> 0x00 0x05 0x00 0x00 0x00 0x46 0x00 0x07
0x00 0x00 0x02
> 0x2e 0x00 0x0a 0xc3
> 0x20 0x00 0x03 0xaa 0xb7 0x00 0x00 0x00
0x00 0x00 0x10
> 0x02 0x2e 0x00 0x5d
> 0x00 0x00 0x00 0x00 0x56 0x22 0x00 0x00
0x56 0x22 0x00
> 0x00 0x00 0x10 0x00
> 0x01 0x67 0x65 0x6e 0x72 0x63 0x6f 0x6f
0x6b 0x01 0x02
> 0x00 0x00 0x00 0x00
> 0x00 0x08 0x01 0x00 0x00 0x02 0x02 0x00
0x00 0x18
> Control streamid=0
> mimetype audio/x-pn-realaudio
> StreamName Audio Stream
> intrinsicDurationType intrinsicDurationContinuous
> ASMRuleBook
>
priority=5,averagebandwidth=32041,PNMKeyFrameRule=T;priority
=5,averagebandwidth=0,PNMNonKeyFrameRule=T,OnDepend="0&
quot;,OffDepend="0";
>
> ====Stream 1====
> StreamNumber 1
> Duration 174960
> RTPPayloadType 101
> AvgBitRate 192000
> SamplesPerSecond 1000
> EndOneRuleEndAll 1
> AvgPacketSize 391
> Preroll 2858
> MaxPacketSize 1089
> MaxBitRate 192000
> TrackEndTime 174960
> FramesPerMSecond 25000000
> Width 400
> Height 224
> FrameWidth 400
> FrameHeight 224
> PostDecodeDelay 500
> RMFF 1.0 Flags
> 0x00 0x03 0x00 0x02 0x00 0x00 0x00 0x02
> OpaqueData
> 0x00 0x00 0x00 0x22 0x56 0x49 0x44 0x4f
0x52 0x56 0x34
> 0x30 0x01 0x90 0x00 0xe0
> 0x00 0x0c 0x00 0x00 0x00 0x00 0x00 0x19
0x00 0x00 0x00
> 0x08 0x10 0x20 0x40
> 0x00 0x20 0x00
> Control streamid=1
> mimetype video/x-pn-realvideo
> StreamName Video Stream
> intrinsicDurationType intrinsicDurationContinuous
> ASMRuleBook #($Bandwidth >=
>
192000),priority=9,averagebandwidth=192000,PNMKeyFrameRule=T
;#($Bandwidth
> >=
>
192000),OnDepend="0",priority=5,averagebandwidth=0
,PNMNonKeyFrameRule=T;#($Bandwidth
> <
192000),priority=9,timestampdelivery=T,DropByN=T,PNMThinning
Rule=T;
> ---------------------------------------------
> xres:720 , yres:576 , BBP:16
> Segmentation fault
>
>
>
>
>
>
------------------------------------------------------------
------------
>
> _______________________________________________
> Helix-client-dev mailing list
> Helix-client-dev helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
_______________________________________________
Helix-client-dev mailing list
Helix-client-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
|
|
[1-4]
|
|