diff options
author | Joshua Colp <jcolp@digium.com> | 2017-08-24 13:45:08 -0300 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2017-08-28 11:12:50 -0500 |
commit | 9a9589e8e11696a8afdbafbb16c687a4d295c23b (patch) | |
tree | b7a6407d87c3dad837ce92c5f410175b7ef9e1fe /main/core_unreal.c | |
parent | 9d0c3564eedfa1200aa1c21c915e05af7b0d501d (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; } |