Saturday, October 6, 2012

Silverlight: MediaEnded doesn't fire after endidn all streams

Silverlight: MediaEnded doesn't fire after endidn all streams

I'm facing huge problem with playing realy short media file. It is FLV with h264 video of 0.557s duration.

My media source reports EOS by sending empty MediaStreamSample for both streams when requested, but player stays in Playing state afterwards.

ReportEOS method:

private void ReportEos(MediaStreamType mediaStreamType,                        Dictionary<MediaSampleAttributeKeys, String> mediaSampleAttributes,                        long frameTimeStamp) {     MediaStreamSample sample = new MediaStreamSample(     mediaStreamType == MediaStreamType.Video ? _videoStreamDescription : _audioStreamDescription,      null, 0, 0, frameTimeStamp * 10000, 0, mediaSampleAttributes);     ReportGetSampleCompleted(sample); } 

It is invoked for both Video and Audio streams. MediaElement stays in Playing state instead of switching to closing and dosn't fire MediaEnded event as it suppose to. File is properly played in VLC media player.

Answers & Comments...




No comments:

Post a Comment

Send us your comment related to the topic mentioned on the blog