List Info

Thread: Segmentation fault when rendering to framebuffer




Segmentation fault when rendering to framebuffer
user name
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):

rootSTV:~/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

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
user name
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):

rootSTV:~/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

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
user name
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 appreciated.


#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):

rootSTV:~/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

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
user name
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):
> 
> rootSTV:~/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.

> 
> rootSTV:~/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-devhelixcommunity.org
> http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev

_______________________________________________
Helix-client-dev mailing list
Helix-client-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinf
o/helix-client-dev
[1-4]

about | contact  Other archives ( Real Estate discussion Medical topics )