diff options
author | Joshua Colp <jcolp@digium.com> | 2017-08-24 13:45:08 -0300 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2017-08-28 13:09:25 -0300 |
commit | 6baf2c26f38ccbfda9c2f09285349d9b59bbbb43 (patch) | |
tree | f5a24dec2a6747443126ec3a1f31167a85bdf08a /main/core_unreal.c | |
parent | b7c27e1c84c430093961439e5d2a955a9c4f7d81 (diff) |
core: Reduce video update queueing.
A video update frame is used to indicate that a channel
with video negotiated should provide a full frame so the
decoder decoding the stream is able to do so. In situations
where a queue is used to store frames it makes no sense
for the queue to contain multiple video update frames. One
is sufficient to have a full frame be sent.
ASTERISK-27222
Change-Id: Id3f40a6f51b740ae4704003a1800185c0c658ee7
Diffstat (limited to 'main/core_unreal.c')
-rw-r--r-- | main/core_unreal.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/main/core_unreal.c b/main/core_unreal.c index 3db6a4dbd..763be4f0c 100644 --- a/main/core_unreal.c +++ b/main/core_unreal.c @@ -330,7 +330,8 @@ int ast_unreal_write(struct ast_channel *ast, struct ast_frame *f) if (!ast_channel_get_default_stream(ast, AST_MEDIA_TYPE_AUDIO)) { return 0; } - } else if (f->frametype == AST_FRAME_VIDEO) { + } else if (f->frametype == AST_FRAME_VIDEO || + (f->frametype == AST_FRAME_CONTROL && f->subclass.integer == AST_CONTROL_VIDUPDATE)) { if (!ast_channel_get_default_stream(ast, AST_MEDIA_TYPE_VIDEO)) { return 0; } |