diff --git a/CHANGES.md b/CHANGES.md index 638a4a1..0aa75d4 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -67,6 +67,10 @@ - @voluntas - [ADD] examples に E2E テストを追加する - @voluntas +- [FIX] SoraVideoSource で RTP Timestamp を設定しないように修正 + - この段階では値が決まらないはずの RTP Timestamp がフレームに設定されていたので修正する + - libwebrtc 内でもデコーダーがデコードした際に受信した RTP Timestamp を設定することに使用しており、キャプチャーでは使用されていませんでした + - @tnoho ## 2024.3.0 diff --git a/src/sora_video_source.cpp b/src/sora_video_source.cpp index 041345d..03a9f1c 100644 --- a/src/sora_video_source.cpp +++ b/src/sora_video_source.cpp @@ -103,14 +103,11 @@ bool SoraVideoSource::SendFrame(const uint8_t* argb_data, return false; } - webrtc::VideoFrame video_frame = - webrtc::VideoFrame::Builder() - .set_video_frame_buffer(i420_buffer) - .set_timestamp_us(timestamp_us) - .set_timestamp_rtp( - (uint32_t)(kMsToRtpTimestamp * timestamp_us / 1000)) - .set_rotation(webrtc::kVideoRotation_0) - .build(); + webrtc::VideoFrame video_frame = webrtc::VideoFrame::Builder() + .set_video_frame_buffer(i420_buffer) + .set_timestamp_us(timestamp_us) + .set_rotation(webrtc::kVideoRotation_0) + .build(); source_->OnCapturedFrame(video_frame); return true; } \ No newline at end of file diff --git a/src/sora_video_source.h b/src/sora_video_source.h index 9d4d53c..1016999 100644 --- a/src/sora_video_source.h +++ b/src/sora_video_source.h @@ -97,7 +97,6 @@ class SoraVideoSource : public SoraTrackInterface { const int height, const int64_t timestamp_us); - const int kMsToRtpTimestamp = 90; rtc::scoped_refptr source_; std::unique_ptr thread_; std::mutex queue_mtx_;