[Live-devel] how to detect the access unalign issue when porting live555 to uCOS?

zhi sun zhisun.tech at gmail.com
Fri Dec 26 00:11:04 PST 2008


Ross,

I am tring to port the live555 to our embedded system with uCOS support.

For now, the MPEG2TransportStream works fine (on PC and embedded device),
except for the slow performance when using VLC.

I have added our H264 support class, in addition to the H264RTPSink and
FUAFragment classes, it works fine on PC.
 Then I try to run run it on our embeded device (there is no problem to
compile it), an memory unalign exception always occurs when first time
calling the AfterGettingFrame1 function of our H264StreamFrame class (which
inherits from the H264StreamFrame class)

=================================================
class H264VideoStreamFramer4LongCircle : public H264VideoStreamFramer

......

void H264VideoStreamFramer4LC::afterGettingFrame1(
                    unsigned frameSize,
                    unsigned numTruncatedBytes,
                    struct timeval presentationTime,
                    unsigned durationInMicroseconds)
{
    //fFrameSize = frameSize;
    fNumTruncatedBytes = numTruncatedBytes;
    fPresentationTime = presentationTime;               <--- data unalign
exception occurs here
    fDurationInMicroseconds = durationInMicroseconds;
......
=================================================


I have no idea how to detect where the assess unalign coding exists, and how
to troubleshooting this type of problem.
I think the compiler should take care of the data alignment, and always
allocate the the bytes a power of 2 (ie, word).

Could you please point me a correct direction about this issue?

Happy New Year!
-kevin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20081226/de63c830/attachment.html>


More information about the live-devel mailing list