当前位置: 代码迷 >> 多媒体/流媒体开发 >> 用异步IWMReader读取Windows Media Services的广播总是出现长时间无回调?解决思路
  详细解决方案

用异步IWMReader读取Windows Media Services的广播总是出现长时间无回调?解决思路

热度:1084   发布时间:2013-02-26 00:00:00.0
用异步IWMReader读取Windows Media Services的广播总是出现长时间无回调?
在Windows 2003 Server 使用Windows Media Services建立一个发布点并向外广播本地的asf文件,播放列表如下。
然后用WMCreateReader建立一个异步读取器,open相应的发布地址(例如:rtsp://10.130.xx.xxx/wcrecord1),随后在OnStreamSample等待Sample回调。
现在问题是:如果在一个进程内建立一个读取器,那么OnStreamSample回调没有问题,而如果在一个进程内开启多个线程并建立多个读取器从Windows Media Services的多个发布点地址拉流,分别等待各自的OnStreamSample回调,则会出现sample回调间隔过长的问题,即长时间不回调OnStreamSample函数。求教高手原因,解决办法是什么?

——————————————————————————————————————————————————————-
<?wsx version = 1.0?>
<smil id="1" repeatCount="indefinite">
  <media clipBegin="1s" id="28-2184-1-0" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2185-1-1" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2186-1-2" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2187-1-3" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2188-1-4" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2189-1-5" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2190-1-6" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2191-1-7" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2192-1-8" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2193-1-9" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2194-1-10" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2195-1-11" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
  <media id="28-2196-1-12" src="\\10.130.36.186\p1218storage\vod/2009-1-7/128757945421698750741250.asf"/>
</smil>

------解决方案--------------------------------------------------------
则会出现sample回调间隔过长的问题,即长时间不回调OnStreamSample函数
------------------------有多长?还是再不回调?

如果单路没有问题,试试只两个线程 ,看是否有同样现象,

如果两个Reader都有问题,我想应该是你的代码在什么地方共用了同一个接口。导致两个reader都出了问题。

  相关解决方案