henrypfhu / telepresence

Automatically exported from code.google.com/p/telepresence
0 stars 0 forks source link

Problem with (at least) h263 #6

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.Using FFmpeg 1.2.3
2.Using FFmpeg 1.1.6

What is the expected output? What do you see instead?
- Expected : Working Telepresence video flow

- Instead : Green/Black screen (depending the client), and full of 
"***ERROR: function: "tdav_codec_h263_encode()" 
file: "src/codecs/h263/tdav_codec_h263.c" 
line: "297" 
MSG: Invalid parameter"

in the Telepresence log.

What version of the product are you using? On what operating system?
Telepresence rev998 hosted on a 64b Ubuntu 12.04.

Please provide any additional information below.
If I use h264 on my Linphone windows client, I have a video flow, but with h263 
(my Linphone linux doesn't have h264) I get only errors and no video.

Original issue reported on code.google.com by philippe...@gmail.com on 17 Sep 2013 at 10:12

GoogleCodeExporter commented 9 years ago
Just for information, I added the support of h264 to my Linphone linux clients.
With h264 on every clients it's working well.

Hope you can help me fixing the problem with h263p/h263.

Original comment by philippe...@gmail.com on 17 Sep 2013 at 3:13

GoogleCodeExporter commented 9 years ago
Please check 
https://code.google.com/p/telepresence/wiki/Support_FAQ#How_to_report_issue? 
for more informartion on how to report issues. Providing *full* logs is a must.

Original comment by boss...@yahoo.fr on 19 Sep 2013 at 11:22

GoogleCodeExporter commented 9 years ago
Thanks for the reply.
Sorry for the lack of informations.

First, in addition to the others details I gave in my first post, I used 
Doubango rev998.

So I created a conference room at the number 6302 in my Asterisk 1.4.
Telepresence is currently running on my personnal laptop, while I use Linphone 
(1 Linux & 1 Windows) on 2 others laptops for tests purposes.

Like I said previously, it's full working with h264.
But with h263/h263+ the telepresence binary just crash.
I joined the full log.

Thank for your work and your help !

Original comment by philippe...@gmail.com on 19 Sep 2013 at 1:25

Attachments:

GoogleCodeExporter commented 9 years ago
Hi,

I believe it is a typo in doubango:
doubango/tinyDAV/src/codecs/h263/tdav_codec_h263.c:297

remove !out_data from the condition, then recompile and h263 will work

Original comment by sebastia...@gmail.com on 12 May 2014 at 1:15

GoogleCodeExporter commented 9 years ago
must not remove "!out_data", this is *not* a typo. How do you want to deal with 
a null pointer to pointer?

Original comment by boss...@yahoo.fr on 13 May 2014 at 7:28

GoogleCodeExporter commented 9 years ago
we are talking about the function tdav_codec_h263_encode(tmedia_codec_t* self, 
const void* in_data, tsk_size_t in_size, void** out_data, tsk_size_t* 
out_max_size)

And as far as i can tell, the out_data is not used anywhere in the function. I 
took as a reference the 

tdav_codec_h264_encode(tmedia_codec_t* self, const void* in_data, tsk_size_t 
in_size, void** out_data, tsk_size_t* out_max_size)

which has the same check

if(!self || !in_data || !in_size){
                TSK_DEBUG_ERROR("Invalid parameter");
                return 0;
}

and out_data is also not being used anywhere in the h264 encode function (I 
assume it is there as a parameter for compatibility?)

I might wrong here, sorry for insisting too much if that's the case.

Thanks,
Sebastian

Original comment by sebastia...@gmail.com on 13 May 2014 at 8:02

GoogleCodeExporter commented 9 years ago
This is an implementation for a virtual interface at 
https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/tinyMEDIA
/include/tinymedia/tmedia_codec.h?r=1062#295. Video codecs doesn't always use 
this return parameter because the output size is most likely > MTU while audio 
codecs use it. As already said, this parameter must be checked and the code is 
correct. "out_data" cannot be null as the encode() function is called from 
https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/tinyDAV/s
rc/video/tdav_session_video.c?r=1062#437 and 
https://code.google.com/p/doubango/source/browse/branches/2.0/doubango/tinyDAV/s
rc/video/tdav_session_video.c?r=1062#441. Even if "video->encoder.buffer" is 
null "&video->encoder.buffer" cannot be null.

Original comment by boss...@yahoo.fr on 13 May 2014 at 10:12

GoogleCodeExporter commented 9 years ago
Additional info: h263 is listed in the supported codecs (for telepresence) but 
it's not maintained and we're planing to remove it.

Original comment by boss...@yahoo.fr on 13 May 2014 at 10:14

GoogleCodeExporter commented 9 years ago
Hi to all,

I am new to Linphoe @philippe i want to know how to add the support of h264 
codec in Linphone desktop client.. Thank you for your precious time.

Original comment by hmehmood...@gmail.com on 12 Sep 2014 at 11:39

GoogleCodeExporter commented 9 years ago
Hello,
I think I followed this : http://www.jaredlog.com/?p=1250 or this : 
http://rxwen.wordpress.com/2011/01/21/install-h-264-plugin-for-linphone-on-ubunt
u/

Original comment by philippe...@gmail.com on 15 Sep 2014 at 7:59