okay
ManaV wrote:
> Synopsis
>
> ========
>
>
>
> This CR includes fix for the PR 200286: Shoutcast mp3
stream played
> through httpfs stops playback after a few seconds,
spins server CPU at 100%
>
>
>
> Quick link to the PR:
>
> https://bugs.dev.prognet.com/show_bug.cgi?id=20028
6&link=0
> <https://bugs.dev.prognet.com/show_bug.cgi?id=2
00286&link=0>
>
>
>
> Branch: HEAD
>
>
>
> Suggested Reviewer: Anyone
>
>
>
>
>
> Description
>
> ===========
>
>
>
> While playing the live MP3 (Shoutcast) stream through
httpfsys via RTSP,
> the stream starts up but playback stops after a few
seconds, and player
> used to sit on the communicating...
>
> These are the URL's I used:
>
>
rtsp://myserver/httpfs/http:%2f/kexp-mp3-1.cac.washington.ed
u:8000/
>
> rtsp://myserver/httpfs/http:%2f/205.188.215.226:8000/
>
>
>
> The problem was occurring because after some time
server used to get
> locked inside the LOOP in the function
CRnMp3Fmt::MyCreatePacketObj_hr()
> and the call for the PacketReady was not happening
which results into
> server stops sending data packet to the player after
some time. Inside
> the GetMP3Frame_p when we are not reading at ValidMP3
frame we search
> for the next valid frame by searching through the
SyncWord. When we find
> the valid frame after the SearchForSyncWord call, we
search whether this
> frame contains the meta data or not. If it consists of
meta data then it
> should only set the m_bMetaPacket and shouldn't modify
the nSyncSize and
> lScan. Previously on modifying:
>
> 1. lScan when we need to move to the current frame then
these modified
> value won't help in progressing to right.
>
> 2. nSyncSize when search for the next valid frame due
to the addition of
> m_ulMetaLength to it, it wont be pointing to the next
valid frame and
> when we return from the loop it will search for the
next SyncWord, and
> again same thing will happen, and also as the
calculation of next meta
> position m_ulNextMetaPos is not there in the loop so it
wont be
> modifying m_ulNextMetaPos which cause the condition
check for the meta
> data to become true always. In this scenario it used to
stuck in this
> infinite loop.
>
>
>
> I have fixed this problem by omitting the modification
of the nSyncSize
> in case of Server Only. I have cross verified it, Now
it is playing the
> Shoutcast MP3 stream just fine.
>
>
>
> Files Affected
>
> ==============
>
>
>
> Datatype/mp3/fileformat/mp3ff.cpp
>
>
>
> Testing Performed
>
> =================
>
>
>
> Unit Tests:
>
> - None
>
>
>
> Integration Tests:
>
> - I have tested it. Now it streams the shoutcast MP3
fine and player no
> more sits on the communicating.
>
>
>
> Leak Tests:
>
> - None
>
>
>
> Performance Tests:
>
> - None
>
>
>
>
>
> Platforms Tested: win32-i386-vc7
>
> Build verified: win32-i386-vc7
>
>
>
> QA Hints
>
> ========
>
>
>
> - None
>
>
>
> Thanks and Regards,
>
> Manvendra Singh
>
>
>
------------------------------------------------------------
------------
>
> _______________________________________________
> Datatype-dev mailing list
> Datatype-dev helixcommunity.org
> http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|