[Live-devel] Issue faced with JPEGVideo
Ryan Chong
fantasychong at yahoo.com
Thu Jul 21 21:28:20 PDT 2005
Hi.
I am facing problem with the JPEGVideo (Source and
Sink). When I initialize the
OnDemandServerMediaSubsession with the
reuseFirstSource set to True, and try to Pause the
stream, it will cause Segmentation Fault.
My team mate and I traced the code, and found that
this happen after the MediaSink::stopPlaying() was
called.
We traced it with gdb on linux, and found the
following:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1026 (LWP 29706)]
0x08060cfb in JPEGVideoRTPSink::specialHeaderSize ()
(gdb) where
#0 0x08060cfb in JPEGVideoRTPSink::specialHeaderSize
()
#1 0x0806778f in
MultiFramedRTPSink::isTooBigForAPacket ()
#2 0x080675ea in
MultiFramedRTPSink::afterGettingFrame1 ()
#3 0x0806744a in
MultiFramedRTPSink::afterGettingFrame ()
#4 0x0804fa6d in FramedSource::afterGetting ()
#5 0x080891f1 in AlarmHandler::handleTimeout ()
#6 0x08088866 in DelayQueue::handleAlarm ()
#7 0x0808812f in BasicTaskScheduler::SingleStep ()
#8 0x08087be5 in BasicTaskScheduler0::doEventLoop ()
#9 0x0804a58b in thread (data=0x80c7f68) at
strm_server.cpp:71
#10 0x400220ba in pthread_start_thread () from
/lib/libpthread.so.0
#11 0x40022101 in pthread_start_thread_event () from
/lib/libpthread.so.0
We notice that in the
JPEGVideoRTPSink::specialHeaderSize() function, it
does the following:
unsigned JPEGVideoRTPSink::specialHeaderSize() const
{
// Our source is known to be a JPEGVideoSource
JPEGVideoSource* source = (JPEGVideoSource*)fSource;
unsigned headerSize = 8; // by default
if (curFragmentationOffset() == 0 && source->qFactor()
>= 128) {
....
The call to the source->qFactor() was the source to
the SegFault, since the MediaSink::stopPlaying() will
assign the source to NULL. (Line 80 to 91 in the
MediaSink.cpp)
I have tested this on various vesion of liveMedia
code, which were downloaded on 6th, 12th and 15th
July. I also test it on the latest make on today, 22nd
July. The result is same.
Wish this could be solved.
Regards,
Ryan
____________________________________________________
Start your day with Yahoo! - make it your home page
http://www.yahoo.com/r/hs
More information about the live-devel
mailing list