媒体播放器initialize后,进程无法正常退出

	使用以下代码进行创建

media_player_context = new agora::rtc::MediaPlayerContext();
media_player->initialize(*media_player_context);
media_player->setLogFile(“player.log”);
media_player->registerPlayerObserver(this);
media_player->setView((HWND)this->winId());
media_player->setRenderMode(agora::media::base::RENDER_MODE_FIT);
使用以下代码进行销毁
media_player->unregisterPlayerObserver(this);
media_player->release();
media_player = nullptr;
无法正常退出进程

  1. 调用 IMediaPlayer 类的 stop 方法停止播放。
  2. 调用 IMediaPlayer 类的 unregisterAuidoFrameObserver 方法取消观测音频帧。

如果你没有注册音频观测器,请略过此步。

  1. 调用 IMediaPlayer 类的 unregisterVideoFrameObserver 方法取消观测视频帧。

如果你没有注册视频观测器,请略过此步。

  1. 调用 IMediaPlayer 类的 unregisterPlayerObserver 方法取消观测播放器事件。
  2. 调用 IMediaPlayer 类的 release 方法释放 IMediaPlayer 资源。

stop一下看看先

没有效果

有没有完整的日志打印,我看下

Debug.zip (16.0 KB)
日志

收到

有什么进展嘛

如标题所示,正常打开一个远端流链接后,停止远端流的推流,再快速重新推流后,集成媒体播放器的程序崩溃。

麻烦请确认和提供以下信息:

  1. 崩溃对应的现象是闪退还是卡住?
  2. 必现还是偶现?如果是偶现,发生概率大约是多少?
  3. 是做了什么操作后 crash 的?(API调用时序)
  4. 提供 SDK log。
  5. 提供具体的崩溃堆栈信息。如果是 iOS 端,需要符号化堆栈后再提供给我们。
  6. 设备架构和型号。

1.闪退。
2.快速切换的话(例:推流地址的视频尺寸发生变化),必现。
3.在open完成后play,之后没进行任何操作。

Debug.zip (13.1 KB)

在停止推流到重新推流之间 稍微留有一段时间的延迟能否规避,快速进行切换会导致先发的API还未完成执行就进行下一步

如果不能规避的话,在检测到远端停止推流后,播放器会有某种状态进行提示嘛。还有就是进程死不掉这个是否和播放器这个SDK有关联呢,我观察到的现象是播放器调用了initialize这个接口后就会导致。

播放器是没有提示的, 进程死不掉应该和mediaplayerkit没有关系,因为这个是直接影响产品使用的。现在使用的啥版本的mediaplayer

我按照示例上进行的初始化和销毁,的确出现了进程死不掉的情况。屏蔽了这段代码,表现就正常了