This commit is contained in:
ziyue
2021-08-12 11:18:34 +08:00
25 changed files with 455 additions and 52 deletions

View File

@@ -157,6 +157,24 @@ bool MediaSource::seekTo(uint32_t stamp) {
return listener->seekTo(*this, stamp);
}
bool MediaSource::pause()
{
auto listener = _listener.lock();
if (!listener) {
return false;
}
return listener->pause(*this);
}
bool MediaSource::speed(float speed)
{
auto listener = _listener.lock();
if (!listener) {
return false;
}
return listener->speed(*this, speed);
}
bool MediaSource::close(bool force) {
auto listener = _listener.lock();
if(!listener){
@@ -583,6 +601,24 @@ bool MediaSourceEventInterceptor::seekTo(MediaSource &sender, uint32_t stamp) {
return listener->seekTo(sender, stamp);
}
bool MediaSourceEventInterceptor::pause(MediaSource& sender)
{
auto listener = _listener.lock();
if (!listener) {
return false;
}
return listener->pause(sender);
}
bool MediaSourceEventInterceptor::speed(MediaSource& sender, float speed)
{
auto listener = _listener.lock();
if (!listener) {
return false;
}
return listener->speed(sender, speed);
}
bool MediaSourceEventInterceptor::close(MediaSource &sender, bool force) {
auto listener = _listener.lock();
if (!listener) {

View File

@@ -67,6 +67,10 @@ public:
// 通知拖动进度条
virtual bool seekTo(MediaSource &sender, uint32_t stamp) { return false; }
// 通知暂停
virtual bool pause(MediaSource& sender) { return false; }
// 通知倍数
virtual bool speed(MediaSource& sender, float speed) { return false; }
// 通知其停止产生流
virtual bool close(MediaSource &sender, bool force) { return false; }
// 获取观看总人数
@@ -106,6 +110,8 @@ public:
std::shared_ptr<SockInfo> getOriginSock(MediaSource &sender) const override;
bool seekTo(MediaSource &sender, uint32_t stamp) override;
bool pause(MediaSource& sender) override;
bool speed(MediaSource& sender, float speed) override;
bool close(MediaSource &sender, bool force) override;
int totalReaderCount(MediaSource &sender) override;
void onReaderChanged(MediaSource &sender, int size) override;
@@ -249,6 +255,11 @@ public:
// 拖动进度条
bool seekTo(uint32_t stamp);
//暂停
bool pause();
//倍数播放
bool speed(float speed);
// 关闭该流
bool close(bool force);
// 该流观看人数变化