[Pidgin] #13095: Negotiation more reasonable media format from video source

Pidgin trac at pidgin.im
Fri Dec 17 17:38:31 EST 2010


#13095: Negotiation more reasonable media format from video source
------------------------------------------+---------------------------------
 Reporter:  haakon                        |     Owner:  Maiku
     Type:  patch                         |    Status:  new  
Component:  Voice and Video               |   Version:  2.7.7
 Keywords:  video GstCapsFilter high CPU  |  
------------------------------------------+---------------------------------
 Default Pidgin video source adds GstVideoScale and GstCapsFilter to the
 pipeline, limiting the image dimensions to something about 350x280 (see
 create_default_video_src() in gtkmedia.c).

 However, when you use Voice/Video Settings plugin, the capabilities of
 created video source are not limited, in practice highest possible
 resolution is negotiated and the image must be scaled down, once for the
 small preview in the Pidgin's media window and once before it is encoded
 and streamed over network. For example on my older laptop (Pentium M
 1.73GHz) rescaling from 1280x1024, that the webcam provides, eats nearly
 100% CPU power and both sent and received videos are so choppy that decent
 video conversation is impossible. With Pidgin default video source and
 352x288 video directly from the webcam, the call runs smoothly with only
 about 40% CPU load.

 I suggest to improve the performance with this patch that

  * adds a GstCapsFilter between every video source and the rest of
 pipeline, forcing the same capabilities as "pidgindefaultvideosrc"

  * adds public API allowing protocol plugins to change the video
 capabilities when it is convenient (if the particular protocol supports
 higher resolution video and the machine has enough CPU power)

 I split the patch in two parts so that the API extension can wait for
 2.8.0 and the more important part added to next 2.7.X release.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/13095>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list