Use fresh capture PTS after discarded video and diagnose rejected frames
This commit is contained in:
1 parent
8c12dfc02f
commit
f055f8a9df
2 files changed
+9
-2
No files matched your search
@@ -226,7 +226,11 @@ int call_video_send_frame(struct UTUN_INSTANCE *inst, const struct call_video_fr
|
||||
if (!v || !call_video_format_valid(&f->format) || !f->data || !f->size || f->size > CALL_VIDEO_MAX_FRAME
|
||||
|| f->offset || f->length != f->size || !f->frame_id || f->pts_us < 0 || f->pts_us > INT64_MAX / 2
|
||||
|| (f->flags & ~CALL_VIDEO_KEY) || f->frame_id <= v->tx_last_id || f->pts_us <= v->tx_last_pts) {
|
||||
DEBUG_WARN(DEBUG_CATEGORY_CALL, "video TX invalid frame/session"); return -1;
|
||||
DEBUG_WARN(DEBUG_CATEGORY_CALL,
|
||||
"video TX invalid active=%d call=%llu frame=%llu last_frame=%llu pts=%lld last_pts=%lld size=%u offset=%u length=%u format_valid=%d",
|
||||
v != NULL, (unsigned long long)(f ? f->call_id : 0), (unsigned long long)(f ? f->frame_id : 0),
|
||||
(unsigned long long)(v ? v->tx_last_id : 0), (long long)(f ? f->pts_us : -1), (long long)(v ? v->tx_last_pts : -1),
|
||||
f ? f->size : 0, f ? f->offset : 0, f ? f->length : 0, f && call_video_format_valid(&f->format)); return -1;
|
||||
}
|
||||
if (!v->have_peer || v->acknowledged_revision != v->local_revision) { v->need_key = 1; return 0; }
|
||||
if (!call_video_format_supported(&v->local, &v->peer, &f->format)) {
|
||||
|
||||
Reference in new issue
Block a user