RE: how Helix deal with the scenarion that a usbdisk is pluged out during playback?
"Eric Hyche" <[email protected]>
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Organization | RealNetworks, Inc. |
| Message-ID | <010b01c8e687$8bedcc90$db68a8c0@EHYCHED620> |
Halley, Extensive work was done in filesystem/local/full/smplfsys.cpp to handle cases when the underlying IHXDataFile object returns 0 bytes of returns less than requested (or returns an error). However, in your case, it looks like the IHXDataFile is saying it returned enough data, so the code to handle these cases in smplfsys.cpp is not being triggered. When the USB disk is unplugged, what is the behavior of the IHXDataFile? Does it return 0 bytes when a ::Read() is requested? Does it return an error via IHXDataFile::GetLastError()? Eric ============================================= Eric Hyche ([email protected]) Technical Lead RealNetworks, Inc. > -----Original Message----- > From: [email protected] > [mailto:[email protected]] On > Behalf Of Zhao, Halley > Sent: Monday, July 14, 2008 5:45 AM > To: [email protected] > Subject: [Helix-client-dev] how Helix deal with the scenarion > that a usbdisk is pluged out during playback? > > When Helix player is playing content on USB disk, then user > unplug the USB disk, helix engine will crash in such scenario. > > I test it for helix-player and player_gtk_test on Linux, > helix engine will crash in such scenario. > > On Windows system, Realplayer works well in such scenario, > the presentation stopped, but you could open another stream. > > > > When I looked into some source code at > filesystem/local/full/smplfsys.cpp, > > I found there seems to be some function to deal with such > scenario: CheckForCorruptFile(). > > However, when I try to debug it, I found the function isn't > invoked in the scenario above. > > > > And I found after the last call to FinishDoRead(), the engine crash. > > But in this last call, for the condition sentence to > CheckForCorruptFile(): > > if (!pBuffer || actual < m_ulPendingReadCount) > > > > the pBuffer is valid and actual = 2048, and > m_ulPendingReadCount = 2048. > > > > I think the scenario should be a common error handle for > source plugin, > > Did anybody meet such issue before? Or maybe someone fix it > in other branch? > > > > BR > > > > > > > > ZHAO, Halley (Aihua) > > Email: [email protected] <mailto:[email protected]> > > Tel: +86(21)61166476 > > iNet: 8821-6476 > > SSG/OTC/UMD > > > > _______________________________________________ Helix-client-dev mailing list [email protected] http://lists.helixcommunity.org/mailman/listinfo/helix-client-dev