[asterisk-users] I think this is a bug (video call file) 11.25.1 and 13.13.1

Mark Michelson mmichelson at digium.com
Tue Dec 20 16:42:22 CST 2016

On 12/19/2016 07:39 PM, Jerry Geis wrote:
> I can create an audio call file and specify Application: Playback and Data: a path to the audio file, it calls the phone and plays the audio message just fine.
> I am trying to do the same with a video file. I specify Application: Playback and Data: the path to the video file (no ending of course), and I do specify also the Codecs: h264,h263 etc...
> Asterisk reports:
> *File /tmp/video does not exist in any format
> *>* Unable to open /tmp/video (format ulaw|h263|h264)*
> Looking then at the code and attaching with the debugger.
> the ast_openstream_full() function has this condition:
>          if (!fileexists_core(filename, NULL, preflang, buf, buflen,
> file_fmt_cap) || !ast_format_cap_has_type(file_fmt_cap, AST_MEDIA_TYPE_AUDIO)) {
>                          }
> So fileexists_core() returns 1 but the next call to ast_format_cap_has_type() fails. because its looking for AST_MEDIA_TYPE_AUDIO and the file is a video file. Nowhere is the an AST_MEDIA_TYPE_VIDEO.
> I can use the call file to setup a video call between two video softphones just fine. However using the call file to call a phone and play a video is not working at all for me.
> Am I on the right track?
> Is this supposed to work? if so how since there is no check of the AST_MEDIA_TYPE_VIDEO?
> Thanks,
> Jerry
Hi Jerry,

I just had a look through the code, and from what I can tell, what 
you're trying to do is not supposed to work, exactly. It appears that 
what Asterisk expects is to be given a filename, such as "myplayback". 
Asterisk will first search for an audio version of the file (like 
myplayback.gsm or myplayback.opus), and open that as an audio stream. If 
that succeeds, it then will also see if there is an accompanying video 
stream (such as myplayback.h264). If it then finds that video, then the 
result will be that Asterisk will play the audio from the audio file and 
the video from the video file.

What this means is that Asterisk does not properly handle:
* Files that have audio and video streams contained within
* Video files without accompanying audio

This is one of those times where Asterisk's handling of video is not 
user-friendly and in general ass-backwards and terrible. If you have a 
tool that can extract the audio to its own file, then you would be able 
to run your scenario, presumably.

It would be a welcome addition for Asterisk to be able to open a single 
file containing video and accompanying audio and be able to play those back.

Mark Michelson
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20161220/8beddc75/attachment.html>

More information about the asterisk-users mailing list