RE: how Helix deal with the scenarion that a usbdisk is pluged out during playback?
"Zhao, Halley" <[email protected]>
| Newsgroups | gmane.comp.multimedia.helix.devel |
|---|---|
| Message-ID | <094BCE01AFBE9646AF220B0B3F367AAB03499762@pdsmsx413.ccr.corp.intel.com> |
I met the same symptom as you. Smplfsys think it has got enough data without error. Where is the IHXDataFile for Linux system? Is it common/fileio/bufdataf.cpp? >-----Original Message----- >From: Eric Hyche [mailto:[email protected]] >Sent: 2008年7月15日 22:32 >To: Zhao, Halley; [email protected] >Subject: RE: [Helix-client-dev] how Helix deal with the scenarion that a >usbdisk is pluged out during playback? > > >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