summaryrefslogtreecommitdiff
path: root/main/core_unreal.c
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2017-08-24 13:45:08 -0300
committerJoshua Colp <jcolp@digium.com>2017-08-28 13:09:25 -0300
commit6baf2c26f38ccbfda9c2f09285349d9b59bbbb43 (patch)
treef5a24dec2a6747443126ec3a1f31167a85bdf08a /main/core_unreal.c
parentb7c27e1c84c430093961439e5d2a955a9c4f7d81 (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.c3
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;
}