Opened 10 years ago

Closed 7 years ago

Last modified 5 years ago

#34 closed enhancement (fixed)

Voice/video support

Reported by: MarkDoliner Owned by: Maiku
Milestone: 2.6.0 Component: libpurple
Version: Keywords:
Cc: francescor82, Tythsai, Dedalus, axet, Ultrasick, andrewgee, q10, paddy2706, bjlockie, ferk, flint, IceWil, mycae, Herohtar, miltiad, greenMan, deadowl, Robby, Band_B, musuruan, ryan_at_werk, skliarie, cinan, morfeasrev, merihakar, AllahBomber, adk, frasten, ohmanger, morbidchimp, burton82, Pindakaas, Dawudd, mcepl

Description (last modified by MarkDoliner)

Add voice and video support for all protocols that support it. This WILL happen eventually, but it is a rather large undertaking and very few core developers are interested in working on it.

DO NOT leave a comment here asking us when it will be finished, or asking us to hurry, or telling us why we should spend all our free time working on it.

If you really want to help, have 15 hours a week of free time, have at least five years experienced programming in C and have experience with undocumented network protocols then please email our devel mailing list and ask where you can get started.

Attachments (12)

pidgin-vv-20080308.diff (85.7 KB) - added by malu 8 years ago.
Rudimentary voice call support for XMPP/Jingle Audio
pidgin-vv-20080308.2.diff (106.5 KB) - added by malu 8 years ago.
pidgin-vv-google-talk.diff (1.2 KB) - added by Maiku 8 years ago.
Allows voice conversations with the official google talk client
pidgin-vv-20080318.diff (113.4 KB) - added by malu 8 years ago.
pidgin-vv-video-pref.diff (7.0 KB) - added by Maiku 8 years ago.
Fixes up the video input preference and preview button
pidgin-vv-20080328-cleanup.diff (19.5 KB) - added by malu 8 years ago.
pidgin-vv-20080329.diff (41.4 KB) - added by malu 8 years ago.
pidgin-vv-20080329-fix-initiate.diff (41.4 KB) - added by malu 8 years ago.
pidgin-vv-20080331.diff (49.5 KB) - added by malu 8 years ago.
pidgin-farsight-2.diff (69.2 KB) - added by Maiku 8 years ago.
Patch to use Farsight 2 (fixed tab spacing)
pidgin-audio-xep.diff (36.0 KB) - added by Maiku 8 years ago.
Patch to get closer to XEP-0167 and fix a bunch of bugs.
pidgin-vv-caps.diff (4.8 KB) - added by malu 8 years ago.
Determin support for audio and video chat for XMPP

Download all attachments as: .zip

Change History (193)

comment:1 follow-up: Changed 10 years ago by seanegan

  • Milestone Release 3.0.0 deleted
  • Owner set to seanegan
  • Status changed from new to assigned

removing 3.0.0 milestone. There's no reason this should cause backwards incompatibility

comment:2 Changed 9 years ago by tomas

are there any plans to use the Farsight framework for this? the guys working in the OLPC did a nice work using it with Telepathy in order to get videoconferencing running in the laptop.

you can read further on about this on this blog.

comment:3 Changed 9 years ago by lschiere

as I have heard the discussion, the idea is to use farsight via gstreamer.

comment:4 Changed 9 years ago by lschiere

  • Milestone set to Release 3.0.0
  • priority changed from blocker to minor
  • Version 2.0 deleted

comment:5 Changed 9 years ago by seanegan

  • Description modified (diff)
  • Milestone Release 3.0.0 deleted

comment:6 Changed 9 years ago by tomas

really, no milestone? it would be very nice to have some video support in Pidgin, at least on some protocols... :)

comment:7 Changed 9 years ago by seanegan

I mean there is no reason to make 3.0.0 depend on it or it on 3.0.0. This is something that should have no affect on versioning.

comment:8 Changed 9 years ago by hbons

There should be VV soon, if only to stop all the whining.:)

comment:9 Changed 9 years ago by jleinenbach

What about plugins?

comment:10 Changed 9 years ago by jernst

comment:12 follow-up: Changed 9 years ago by beej

cc me

comment:13 in reply to: ↑ 12 Changed 9 years ago by davidfraser

Replying to beej:

cc me

me too - how do you add your username to the cc list?

comment:14 follow-up: Changed 9 years ago by hiddensanctum

So are we ever gonna get this?

comment:15 in reply to: ↑ 14 Changed 9 years ago by mpathy

Replying to hiddensanctum:

So are we ever gonna get this?

I don't believe - look, we have 2007 and it still isn't happening. Thats some gnomish stuff, like not including CMYK support in GIMP - altough without it, its almost unusable in a print production enviroment.

Because I don't want to let it look like my OS isn't capable of handling that, I will switch now to Kopete permanently - until now, every time I have to tell the people "uhm, wait, i switch the application to do webcam support".

Also themeing is much more advanced on Kopete, they can also use Mac OS X Adium - Style, too!

Yes, I know Kopete is sometimes somewhat crashy, but it has so much features every commercial instant messenger has, features, of whom the developers are relatively ignorant, when I look at the bug reports of the last years!

I think its also a reason, that those features are really important for the users - but developers doesnt see a sense in them (and I think many of the hardcore dev's want to see themselves on a webcam after 20 hours of coding *g* sorry for that)

Besides the fun that is the reason I think. Developers have no use for webcam. Users who wanna videochat with half-naked girls have! *g*

comment:16 follow-ups: Changed 9 years ago by seanegan

You just hit the nail on the head. I don't know anyone who's ever actually used or wanted to use a webcam.

comment:17 Changed 9 years ago by hiddensanctum

So...you've never chatting with a friend on the webcam that lives miles and miles away from u?

comment:18 follow-up: Changed 9 years ago by seanegan

I don't even know anyone who *owns* a webcam, apart from Mac users.

comment:19 Changed 9 years ago by hiddensanctum

They are pretty much built into laptops these days...if you go out and buy a laptop most likely it'll have a webcam built in

comment:20 Changed 9 years ago by KristjanS

Using a web cam may be very well a regional trend. For instance, I could not see Pidgin being popular in North Europe without having a web cam support. Personally, I am using Pidgin only because I prefer not to run KDE applications. However, I am seriously considering using Kopete again shouldn't the web cam support appear soon enough. I believe that this is a serious issue and should be made a priority.

comment:21 in reply to: ↑ 18 Changed 9 years ago by bleeter

Replying to seanegan:

I don't even know anyone who *owns* a webcam, apart from Mac users.

*cough*

comment:22 Changed 9 years ago by seanegan

I meant "real-life" know. ;)

comment:23 Changed 9 years ago by bleeter

What is Pidgin? Some lame MMORPG? ;)

comment:24 in reply to: ↑ 16 ; follow-up: Changed 9 years ago by mpathy

Replying to seanegan:

You just hit the nail on the head. I don't know anyone who's ever actually used or wanted to use a webcam.

I know many people - there was a time not long ago, where not so much webcams where supported in linux - right now, all of the low-budget webcam which are sharing the same 1 or 2 driver(s) are supported. Its easy as plugin in and perhaps do some color correction stuff in the Kopete dialog, but that's it. Easy to use, for the user which using it the most - the simple user, without technical background, who wants to keep contact with their friends like they did @ Windows. And of those you getting more. They wanna use the key features who were provided by their operating systems, if its Windows or OS X.

As I explained, that it is really the problem that you guys developing it, doesn't use one, and also the people you get in contact with. Perhaps because of different general lifestyles or something, but that doesnt mean that a big group of people using it altough. And especially the young generation, the teenagers of today - here in germany I barely know someone (especially on the girls side, but it doesnt matter much) who doesnt own and use one. So perhaps its a regional trend, but such countries like germany, switzerland, austria and france are not soo little countries.

If Skype @ Linux also put their webcam support from the windows version also to the linux version, and Kopete improves its general crashiness, Pidgin will stand relatively on their own - but not in a positive way. (People mostly using Skype or Yahoo or MSN for web cam chats.)

You dont know anybody who owns a webcam? As hiddensanctum says, pretty much are built into laptops - and people buying a pc often get one for free, as an extra, because a mic and a webcam are extras who doesnt cost them much.

As I said, when I talk with people and finding out they want to do such stuff I tell them to use Kopete (most of the time I say also KDE, to avoid some hassle) before having to tell them, "well, Pidgin is a fine stable program, but if someone asks you to webcam - what you won't see because Pidgin doesn't even display a message that someone is trying to do webcam with you - you have to log out and log in with Kopete.."! I hope its clear what I am trying to tell you.

What was the joke with the MMORPG about? Looks like you people didn't get the point. It must be some gnome-related stuff that I don't get answers in a serious and aware way.

Like with GIMP - they don't want to build in CYMK support because of such stuff like "I doesnt use it - nobody uses it" or "We have some kind of workaround" or "It isnt this important" - and the opponent, Krita, has it in from the beginning. So once it is more mature and stable, people who dont only do RGB pictures for the internet, but want to do print related stuff switching to that.

So Gnome will end up some day as "linux desktop for geeks" and KDE as the "linux desktop for the normal and productive user" Perhaps its something who is wished but it shouldnt be.

comment:25 in reply to: ↑ 24 Changed 9 years ago by rekkanoryo

Replying to mpathy:

As I explained, that it is really the problem that you guys developing it, doesn't use one, and also the people you get in contact with. Perhaps because of different general lifestyles or something, but that doesnt mean that a big group of people using it altough. And especially the young generation, the teenagers of today - here in germany I barely know someone (especially on the girls side, but it doesnt matter much) who doesnt own and use one. So perhaps its a regional trend, but such countries like germany, switzerland, austria and france are not soo little countries.

It is not truly a problem that we don't use webcams or communicate with people that care to. Voice and video support is not a critical feature, no matter how much some people may think so.

If Skype @ Linux also put their webcam support from the windows version also to the linux version, and Kopete improves its general crashiness, Pidgin will stand relatively on their own - but not in a positive way. (People mostly using Skype or Yahoo or MSN for web cam chats.)

You dont know anybody who owns a webcam? As hiddensanctum says, pretty much are built into laptops - and people buying a pc often get one for free, as an extra, because a mic and a webcam are extras who doesnt cost them much.

This depends on where you buy your hardware and if you care enough to look for a model that does or does not have a camera built in. There's also the issue of bundling the minimum necessary to get the box to sell, which leaves webcams out of a lot of models.

As I said, when I talk with people and finding out they want to do such stuff I tell them to use Kopete (most of the time I say also KDE, to avoid some hassle) before having to tell them, "well, Pidgin is a fine stable program, but if someone asks you to webcam - what you won't see because Pidgin doesn't even display a message that someone is trying to do webcam with you - you have to log out and log in with Kopete.."! I hope its clear what I am trying to tell you.

That's all fine and well. We have long contended that we will never be perfect, nor will we ever be the best client for everyone. Different people need and want different things, and therefore no single client can ever meet all these needs and desires. Note also that development resources are finite--we don't have a team of developers who truly care about any of this voice and video support and have time to contribute to that goal. If we had developers who cared and had time, we'd have had voice and video support years ago. If Kopete has this kind of development power, good for them. We don't.

What was the joke with the MMORPG about? Looks like you people didn't get the point. It must be some gnome-related stuff that I don't get answers in a serious and aware way.

It was a joke keyed on the fact that seanegan's statement was ambiguous.

Like with GIMP - they don't want to build in CYMK support because of such stuff like "I doesnt use it - nobody uses it" or "We have some kind of workaround" or "It isnt this important" - and the opponent, Krita, has it in from the beginning. So once it is more mature and stable, people who dont only do RGB pictures for the internet, but want to do print related stuff switching to that.

The GIMP is completely irrelevant here. There is no reason to bring it up here.

So Gnome will end up some day as "linux desktop for geeks" and KDE as the "linux desktop for the normal and productive user" Perhaps its something who is wished but it shouldnt be.

GNOME vs KDE is completely irrelevant here as well. We are not a GNOME application, nor are we a KDE application. The fact that we happen to use the same widget toolkit as GNOME does not make us a GNOME application.

At any rate, this is all completely beside the point. The point of this ticket is to provide a useful place for development discussion and tracking on voice and video support for those working on it, not to provide a place for whining and wishful thinking. Users, please do not comment on this ticket further unless you have something to contribute to the actual development of this feature. "Me too"s and other comments not directly helping the development of voice and video features are only going to pollute this ticket unnecessarily and take time away from those caring to contribute.

comment:26 Changed 9 years ago by mpathy

Okay, to get that clear - this feature is not desired, and Pidgin is and will be no client with web cam functionality?

It's not about whining - but to get that clear, so I can arrange me, the people who asks me and the linux community pages I work for, with that.

I suppose it is also not planned to use a opportunity like "Google Summer of Code" to let somebody implement that (as a plugin)?

I really need this stuff to know - sometimes its hard to get behind the plans of an free software project. Because it is also unfair to let the user wait and some people telling them "hey, soon something like that will come, it was there before gaim-vv and so on.." - I would suggest to make it clear for the user that such things wont get into development focus.

comment:27 Changed 9 years ago by bleeter

Improved Privacy API would still be needed for anything beyond a nasty hack. And some argue that to do that well, Gobjectification should take place as well. All up, it's a pretty huge project, it'd probably take several SoC'ers to do it, at least. Grim's done some Gobjectification work, but there's no doubt more to be done - I'm not sure what Privacy rewrite work's been done, I'd almost guarantee 'not enough, if any'.

Without understanding the code base to work from, ambit claims of 'want', 'need' etc., are irrelevant.

comment:28 follow-up: Changed 9 years ago by EgU

Okej, so there are many users that want Video/Voice? and why not?

Then the questeon is what happend to gaim-vv? Where did that code go? what was wrong with it?

And more important what need to be done to enable a VV-API?

It would be extremly cool if finch also could use video via ascii-video.

comment:29 in reply to: ↑ 28 Changed 9 years ago by mpathy

Replying to EgU:

Okej, so there are many users that want Video/Voice? and why not?

First of all, there are many users who didnt use it yet, but would use it if it would be easily possible for them (for example, someone installs ubuntu, pidgin is the default messenger, they see they have support for it)

Also, almost everybody who buys a new laptop, has a webcam, and really much are supported right now (for example, almost all of the builtin Lenovo/Thinkpad? Webcams in Ubuntu) and most desktops get a budget webcam shipped with, who all share the same budget webcam driver.

Then the questeon is what happend to gaim-vv? Where did that code go? what was wrong with it?

http://gaim-vv.sourceforge.net/

Lets quote the last entry: "Oct 07, 2005 - Forward port of gaim-vv 1.2.0 to gaim cvs head is working. I would like to clarify that gaim-vv isn't completely dead, we're working on merging with gaim. There will be no further gaim-vv releases, as code will be added to the main gaim program."

*lol* :(

And more important what need to be done to enable a VV-API?

Some parts should be usable also for Pidgin, or am I wrong?

It would be extremly cool if finch also could use video via ascii-video.

That's not so important ;) But it should be easy if the framework is there, just use another video output (in that particular usage libcaca or libaa)

comment:30 Changed 9 years ago by ffdragon2

cc :)

comment:31 in reply to: ↑ 16 Changed 9 years ago by sanderd

So it seems Pidgin developers aren't interested in or don't have enough time for video support, but what about voice support? As far as I know Sean Egan has worked on Google's libjingle, so aren't there any plans to integrate that library or technology into Pidgin? I'm sorry if I'm being rude by asking about the connection between your job and volunteer work, but I'd just really like having a great Google Talk-compatible client in Linux.

comment:32 Changed 9 years ago by iwkse

If it can be easier to explain the situation, i'll say that audio/video stuff will NOT be present in gaim/pidgin.
The explaination is easy if you try to read some info over the net or even you can guess reading the Sean Egan wiki page. To remember you guys, Mr. Egan was hired by google to work on google talk...which casually *has* video support and still casually the first beta was released on August 24, 2005. So just check a moment when gaim-vv stopped to be developed..."Sep 21, 2005 - Delayed announcement that gaim-vv is dead." Oh..curious..neither one month! So open source community, the truth isn't that Mr. Egan do not have time or will or even friends without a webcam (ahah) to work on the video (he already did it for google talk) but he just WILL NOT DO.
Pay him more than google did, or just (preferred choice) remove gaim/pidgin from your pc and uses something else and stick with your open ideals.

With the best regards
Salvatore

comment:33 follow-ups: Changed 9 years ago by deryni

sanderd: The problem is not with implementing any given protocols vv stuff, the problem is (and has always been) implementing a vv framework that will work for all of the protocols that pidgin supports and will support all of the various bits that they support. Most IM clients are single protocol and as such have a much easier time doing this sort of thing than we do. Even a number of the multi-protocol clients have an easier time of this by not being core/ui split and by not (to my knowledge) having as rigorous a policy of protocol-neutrality in the core/ui.

comment:34 in reply to: ↑ 33 Changed 9 years ago by sanderd

deryni: That makes sense. It sounds like a hard problem to solve. Thanks for your explanation!

comment:35 in reply to: ↑ 33 Changed 9 years ago by Xinef

deryni: I admire the quality of such approach, but since audio/video is so protocol dependent, are you sure this is still the right one ? The only thing that should be in the common frame is the service's availability or not, actual vv should probably be kept bound to the chosen protocol. Even a few like MSN, Yahoo and QQ would be enough to make the majority happy. But my guess is most (if not all) of the project's members won't accept 'soiling' their precious architecture. An intermediate approach would be to throw in the SPI audio/video only. Ekiga's code is available, the protocol good enough from all points of view, and that would give a minimal service for at least linux and Mac users.

comment:36 Changed 9 years ago by charkins

Xinef: The protocols themselves are protocol dependent, but they all must adhere to a standard interface. Any voice/video implementation would need to do the same.

All: I must reiterate that this is not the appropriate place to argue about if or why pidgin should have voice/video support. The very existence of this ticket, created *by* a pidgin developer, indicates that the developers are not opposed to it. However, developers are not obligated in any way to implement something in their time that they don't have an interest in implementing. Repeated "me too" requests or trying to convince developers of the importance of it is not going to make it happen. If someone steps up and makes it happen, that's great. But it won't be because X number of people insisted on it, its going to be because someone who has the time and interest will put the effort into it.

comment:37 Changed 9 years ago by iwkse

charkins: Who's actually forcing anybody to develop a/v support? Maybe somebody is just pointing out you're cheating users while opening a ticket and right after explicit express "developers are not obligated in any way to implement something in their time that they don't have an interest in implementing". Who really cares of pidgin? Nobody. We can happily use other free software (as we already do since long time) which is done by fair people instead of cheaters. So your haughtiness doesn't touch nobody else than you. You can close this ticket now and I wish all users who feel cheated will think the same and express it. Who really care of pidgin? Nobody.

comment:38 Changed 9 years ago by mpathy

At least you could remember it (really!) for the next Google Summer of Code, to provide a code basis for further work on it.

At least that should be considered.

And +1 to iwkse - at least lets say "it would be nice to have that, lets look if someone would do this, lets questioning around" instead of "who needs a/v? forget it!".

And yes, there are existing implementations, so there is some code you can use (in Ekiga or Kopete).

comment:39 Changed 9 years ago by star_dancer

There are people who care about pidgin, and that's why feature requests matter. Open-source really isn't a "do this for me or I will use a different program" type of thing and it's juvenile and counter-productive to say things like that. Many users requesting voice support are very serious and, over-all, happy users of Pidgin and appreciate the work and commitment of the developers. However, when any project gets large enough, I do feel developers have some responsibility to listen to their users, I hope that aggressive posts on this trac do not cause the developers to lose that sense of responsibility. It's embarrassing that there are people in the "community" that would post things like that here.

Here is something new and hopefully constructive I have to ask (as a Pidgin user who desperately wants voice support, who has a programming background, and who has even tried to play with implementing it herself in the gaim-2 betas): As a code-contributer to open-source projects, I fully understand the response that runs along the lines of "we are focusing on other things, but you can code it yourself and we will implement it" and I have done that with projects in the past. However, asking someone who may not be familiar with the Pidgin code base to implement a major change is a huge thing to ask, especially if it involves gui/core separation and core modularization of the entire project and a number of crazy huge structural decisions.

Is it possible that Pidgin developers could break the large task of voice support into a series of smaller, well-defined programming tasks that could be taken on individually by more casual developers? Especially if implementing voice support requires major structural decisions. This would prevent well-meaning developers from wasting time and would increase the number of people that would be capable of helping you out. It may also be that individual, smaller tasks working toward voice support are beneficial to the program in other ways or allow for other types of enhancements.

Finally, remember that a percentage of your developer base comes from your user base. Functional voice support even for Google and MSN would greatly enhance your user and hence, your developer pool. Furthermore, I think Pidgin holds the niche for a clean, gnome-based, IM client (kudos for that!) and that is why your user base is so large. However, I truly feel that if you had a gnome-based competitor with voice and/or video, you would lose that user base very rapidly. I doubt Pidgin's goal is to be popular, however, a program without users dies pretty quickly.

comment:40 in reply to: ↑ description Changed 9 years ago by onlineapps

Will this end up in Pidgin anytime soon? My thinking is that if Adium can do this, we can too.

comment:41 Changed 9 years ago by fishpool

Does Adium's recent announcement of progress with A/V effect Pidgin, i imagine it does.

http://www.adiumx.com/blog/

i only ask because it seemed to be dependent on lots of mac features and built in aspects.

comment:42 Changed 9 years ago by seanegan

Did you read the announcement? It says that the actual -vv work that's been done is my work on the Pidgin vv branch. It's certainly not Mac-specific, rather I've convinced them to use libraries (i.e. Gstreamer) that many would consider Linux-specific. Adium's -vv work is based off Pidgin's, and as the blog post says, both teams plan on collaborating very tightly to get -vv implemented in each protocol.

comment:43 Changed 9 years ago by ogro

for the lazy ones:

Next, we have to make a number of additions to Libpurple itself. Luckily, we aren't alone in this endeavor; Sean Egan and the rest of the Pidgin team are working closely with us on integrating AV capabilities into Libpurple itself. These new functionalities are being developed in a new branch of Pidgin, and development will continue as we improve our support for AV-capable protocols. So far, GTalk receiving audio has been implemented into the Pidgin voice and video branch, however it is largely untested as no client has actually tried to use the code to this point. We are aiming to be the first.

Source: http://www.adiumx.com/blog , posted at Saturday, October 27, 2007

For the devs.: I can't wait to see V/V support! I missed this when my (ex) g/f lived 1k miles away from me. Keep up the great work!

comment:44 Changed 9 years ago by bradwjensen

I really wish I could see/video chat with my girlfriend whom lives many states away now that we've both moved on to college.. It's been almost 2 years now and all i get is a phone call with her now and then (that can get expensive, fast). Being able to see her when we chat would be really appreciated.. Having an extra app is kind of defeating the purpose of Pidgin in my mind.. I switched to Pidgin to get away from all that having multiple apps and bloat ware that comes with some of the other apps like AOL and Yahoo stuff.

comment:45 Changed 9 years ago by varchar255

cc me

comment:46 Changed 9 years ago by adfhau

cc

comment:47 Changed 9 years ago by onlineapps

You know, it might not be that hard to integrate vv code from http://kopete.kde.org/, http://www.amsn-project.net/, and http://gyachi.sourceforge.net/.

comment:48 Changed 9 years ago by aavera

I travel for my work. My webcam is my link to my children. Do you have kids? Do you know how life-changing it is for me to be able to see their faces and tell them stories at night and act silly with them via webcams? Webcams are not just for all of the masses of people showing their unclothed bodies - although that's also fine by me.

Kopete and YahooIM (for windows) both have webcam support. For me, my webcam is the first piece of technology that I can think of in years that has made a huge, tangible change for the better in my family's quality of life.

comment:49 Changed 9 years ago by mpathy

@aavera: Great comment, I have absolutely the same opinion as you :)

I hope, this comment brought the discussion back to the point, where we only discuss the possibilities of having this in Pidgin, the problems etc. - AND NOT why someone needs a webcam.

Again: If the developers don't need one, or the most of the people actively participate in the project and this trac here, doesn't say anything about if not the majority of the people USING it, would be very happy to have it in.

There are many use cases, to speak in developer language: There is the mother or the father, who have to be far away from home and want to see their children and how they grow up. There is the couple that fall in love (perhaps also living far away) and want to talk to another (if they want to show themselves their bodies thats not my thing but it is also okay for me, but they are not the majority I think). There is a project, where the people are in need to optically show someone something.

If its difficult because of the proprietary background of almost all, or all protocols who provide A/V, why not creat A/V support for Jabber or another free protocol? (And if there is a easy installer for a windows port of that, then I would be happy and tell my girlfriend to install it)

All I just wanted to say is to go away from things like "Who really needs A/V" to "What are the possibilities to have it in Gaim".

comment:50 Changed 9 years ago by seanegan

  • Description modified (diff)

It's pretty much been decided exactly how this will be done, and work has been done towards it. The only thing holding this project up is that none of the core developers are interested in the feature and nobody interested in the features is obliging to develop it.

In hobbyist programming such as Pidgin, developers work on either 1) What they want to actually use or 2) What would be fun to work on

So far, voice and video have fallen into the second category. Nobody's denying that people would find it useful; few people have yet been inspired to work on it.

comment:51 Changed 9 years ago by iwkse

*I talk to all people which ask for a/v support in pidgin*

Let it be pidgin and try http://telepathy.freedesktop.org/wiki/ or everything else far from pidgin just for these reasons:

1) Pidgin developers do not care at all about their users and that's not something just on the a/v support.

This is something odd in the free software and open source community. They are like the exception in this, the nazi devs side. I wondered (and with me many other people) why pidgin(gaim) is free software while they act perfectly as it was a closed source chunk.

We found a reply on this, and as the previous person said, pidgin is a software done by hobbyist. This is completely true if you just take a look to the source code and the many leaks it has.

2) Pidgin has nothing more than other free software already available in the community. In the contrary it leaks important features as audio/video. Msn support is ridiculous with many features that works bad and some other just implemented but expressly not included in the interface.

3) Do not forget that money has a great influence here...they do not add features cause they don't want, it's easy to understand it. All that nice stories about interest, time, hobby are good for young children not for adults. You never have to forget why gaim-vv was stopped and why gtalk was developed. They control you users, so leave pidgin for the same reason we do not like Mr. Gates. There isn't a lot of difference. You're voice isn't listened, never. But open source developers are glad to help users and to improve software in this direction. So if they do not do, please leave them alone in their shit.

4) The only moral word they can understand is money.

comment:52 Changed 9 years ago by mpathy

@iwske: Don't be unfair. I can understand it.

And I personally think, when the Adium people prove that its possible to include in libpurple - what they try to do - than somebody will, perhaps in a Google SoC - project include it in Pidgin next summer.

So the only thing I want to have it happen, that it is on top of the "Google SoC Project Idea List" next year!

comment:53 Changed 9 years ago by iwkse

mpathy if you can understand it I can't. And I'm not unfair, i'm just offended that you believe this.

comment:54 Changed 9 years ago by MarkDoliner

  • Description modified (diff)

comment:55 Changed 9 years ago by Christian

Hi all,

I've been following this for quite some time now. And since I'm one of those people who would love to see the video/voice chat feature implemented sooner rather than later, I thought I'd add my two cents:

As a student of Business Administration, I know nothing about programming. But I do believe that the OSS movement faces two fundamental problems:

1) Little cooperation between projects: People do develop OSS for their own pleasure. When they're discontent with the development of their project, they create a fork. So, instead of creating software that'd be able to challenge their commercially developed competitors, teams of OSS developers tend to split up.

2) OSS projects barely have a dude assigned to do proper marketing. Had this project anything like a marketing manager, I bet Pidgin would have had video chat ages ago.

However, as I've pointed out already, OSS developers have a different driver for their work: fun (or idealism), rather than users' needs. So, what can we do to still get what we as users want, if the developers aren't currently willing to commit their time to it? Well, I guess we could try bribing them. If they had a monetary compensation in prospective, they might be willing to sacrifice some time on our wishes.

What I propose is that we set up a public pledge on http://www.pledgebank.com/. When enough people have pledged to contribute their share of, say, US-$ 10 each to a set amount, we can then open up a fund at http://www.fundable.com/. Then, people have 25 days to create a PayPal? account and "renew" their pledge on fundable.com. If, after 25 days, the "goal" has been reached, fundable.com will debit the amount pledged from the users' PayPal? accounts and transfer the money to a designated account.

If, after those 25 days, we figure out some people changed their minds, fundable.com will simply delete the pledge, and nothing will happen. We then just created a lot of hot air, and our PayPal? accounts will remain untouched.

I've tried to figure out how much money would be required to actually implement video chat.

As I've said already, I know nothing about programming. At all. But I've read that there are obviously some libraries already available that could be used. So I guess it wouldn't be too much work for an experienced person.

Next thing, I tried to figure out how much a programmer would get per hour. US-$50/hr seems to be a good guess, according to salery.com.

And US-$1000 seems to be a good goal, as it'd give us a programmer work 20 hours on the project. Besides, it's a nice round number. And the individual pledge of US-$ 10 would be affordable even by a student like myself.

If you now take the US-$1000 needed, and add

1) 5% credit card fees PayPal? seems to charge when money is paid into an account using a credit card,
2) 4% fees for transferring money across borders,
3) 2,5% fees for currency conversions,
4) US-$ 10 fundable.com will charge for a payout by cheque,
5) 7% fees fundable.com will charge us when we actually reach the goal,
you get a total of about US-$1210 needed.
(Percentages and total sum are rounded and approximates only, based on fees for PayPal? Germany. Note that I've never actually used any of those services, so I might be somewhat off the real amounts. That's why I will not accept any liability for my miscalculations. ;)

Given all this, I propose we set up a pledge now, that “I will contribute US-$10 towards the total amount needed to begin the implementation of video and voice chat for Pidgin IM on the two major platforms (Windows and Linux), if 120 other people join me and pledge the same by April 1st, 2008, the Pidgin developers support the move and any source code produced is placed under an open source certified license compatible with Pidgin's”.

By "the pidgin developers support the move", I mean that I want the Pidgin devs advertise the pledge on their website and possibly in the program itself in prominent places, so people interested in joining the pledge actually get the chance to. As soon as we've the 121 people together, we'll inform the developer team, so their lead developer or webmaster can create a fundable.com pledge. That way, we can ensure the money actually reaches the team. The reason for not starting directly at fundable.org's place is that their pledges have a maximum live span of 25 days. When the team got the money, they can decide whether to keep it and implement the changes themselves, or hire an independent developer somewhere on the planet to do the job for them.

Of course I realise that the money might not be enough to finish the project. But it surely will be enough to prove our point and get the whole thing started, to give somebody out there an incentive to at least try...

What do you think? What do the devs think? If enough of you tell me it’s worth a try, I’ll set up the pledge immediately. If the devs tell me that US-$1000 is never ever going to even get this going, I obviously won’t… But at least I’d like to see us all trying to get this gridlock resolved…

Looking forward to your feedback. :)

Regards,
Christian

comment:56 follow-up: Changed 9 years ago by pellingert

I think pidgin is a real good messenger of layout etcetera, and I am using it fore som years now, but all this time I've been waiting for a way to use my webcam without starting up a kde-app, and all these years there is this promisse this function will come. If you stay ignoring this wish of the users to be able to talk via cam and mic, I think I, and much others will change to a other messenger, wich ALL have cam-functions. here in Belgium. and most of western europe, almost everyone has a cam, so dont use this lame excuse there is no intrest in this function :-$

comment:57 in reply to: ↑ 56 Changed 9 years ago by rekkanoryo

Replying to pellingert:

here in Belgium. and most of western europe, almost everyone has a cam, so dont use this lame excuse there is no intrest in this function :-$


We have repeatedly said that there is little or no developer interest. A billion users wanting a feature means absolutely nothing if no one able to develop the feature for Pidgin and libpurple wants to do it.

comment:58 follow-up: Changed 9 years ago by pellingert

isnt the meaning of open source, sharing code with other developpers? so the code is there (amsn, copete, ...) you just have to integrate it into pidgin and give the original developpers some credit in the about screen. and if you do not want to integrate it, for what reason is there this years old promisse to have tis function in a near future version? just to attract users to your project with face promisses?

comment:59 in reply to: ↑ 58 ; follow-up: Changed 9 years ago by rekkanoryo

  • Milestone set to Patches welcome

Replying to pellingert:

isnt the meaning of open source, sharing code with other developpers? so the code is there (amsn, copete, ...) you just have to integrate it into pidgin and give the original developpers some credit in the about screen. and if you do not want to integrate it, for what reason is there this years old promisse to have tis function in a near future version? just to attract users to your project with face promisses?


Why is it that no one ever understands that we can't just cut and paste code from another client?! Code structure, library usage, difference in programming languages used, and a multitude of other factors make it difficult (at best) or nearly impossible (more like reality) to reuse any of the existing code in other clients. Using them as a "reference" isn't exactly easy either, as almost no other clients keep their protocol code completely separate from the UI, which means we would have to understand the conventions of not only the base libraries, but the UI toolkits as well and have to pick out useless UI element code from the actual protocol implementations that we would need.

Again, as has been said a hundred thousand times over, we want a core/UI split API, such that libpurple uses the gstreamer and farsight libraries and has absolutely no UI-specific code whatsoever. The API also has to take into account that we support more than 10 protocols--there can be nothing protocol-dependent anywhere in libpurple except in the protocol plugins themselves. There are other significant design issues that have to be considered as well.

It doesn't really matter that aMSN, Kopete, or half a million other IM clients have these features. Developers who cared implemented those features in ways that were acceptable to those projects. It hasn't happened here yet, and no amount of user complaints is going to change that.

For the last time, if you are not a Pidgin developer or patch writer, DO NOT WASTE OUR TIME BY COMMENTING ON THIS TICKET.

comment:60 Changed 9 years ago by MarkDoliner

Christian: That's a novel idea. I think it's important that you find a developer willing to work on voice/video for the price you've suggested before actually soliciting donations. If you can find someone in the core Pidgin development team, or you can find someone who the core Pidgin development team is willing to approve/sign off on then I say go for it.

comment:61 Changed 9 years ago by madboymont

Well, I think that an IM client at the end it's a program that just sends and receives bytes from my computer to another. And then, the way those bytes are interpreted, say, a text message, an image, a file, a flash file inside a cab (or call it wink in msn), a sound file, or a web cam stream, depend on the quality of the program you have. We can think that a computer program's quality depends on the quality of their developers, and if it can not do something, it is because their developers are unable to code it. I think developers of this thing could save lots of bytes posting responses to users by simply telling what they are showing: SORRY, WE ARE INCAPABLE OF IMPLEMENT VIDEO, VOICE AND WINKS IN PIDGIN.

comment:62 Changed 9 years ago by MarkDoliner

madboymont: That's one of the rudest comments I've ever seen in our tracker, thanks.

comment:63 Changed 9 years ago by pellingert

or just lazy and selfish

comment:64 Changed 9 years ago by MarkDoliner

WTF? How can you insult people who give their time to create a free instant messaging program and ask nothing in return? I don't think you're in any position to tell us what to do with our time.

comment:65 in reply to: ↑ 59 Changed 9 years ago by Christian

Replying to MarkDoliner:

I think it's important that you find a developer willing to work on voice/video for the price you've suggested before actually soliciting donations. If you can find someone in the core Pidgin development team, or you can find someone who the core Pidgin development team is willing to approve/sign off on then I say go for it.

You're absolutely right. But as I've pointed out above, I have no idea of programming whatsoever. That means I can't say how to find a developer capable of doing it. Nor can I say how much it's going to cost. Not even approximately. That's why I'd need help, myself. But I do believe that the community is able to find a way together. That's what I wanted to express when I wrote my first post.

Replying to rekkanoryo:

For the last time, if you are not a Pidgin developer or patch writer, DO NOT WASTE OUR TIME BY COMMENTING ON THIS TICKET.

I do understand the frustration of developers having to argue about this over and over again. But I'd like to ask you to please be patient with n00bs like myself for just a little longer. This is currently the only way for us users wanting this feature to communicate, for lack of a forum. Please bear with us just a little longer. Maybe your community can come up with some nifty way or other to get this feature implemented in a way that suites your requirements and at the same time doesn't require you to write a single line of code yourselves. :) After all, I can't see why you would not like to have video chat capabilities implemented if you don't have to do it yourselves.

In the meantime, it might actually help to state on your home page that a) Pidgin does not currently support video nor voice chat and probably won't for some time and b) you're willing to accept help from other developers in implementing this feature in the way described by yourself above. Advertising the need for support a little more aggressively won't hurt anyone I suppose - but at least increase the chances of somebody turning up and help. :)

comment:66 in reply to: ↑ description ; follow-ups: Changed 9 years ago by cb88

I have a suggestion....

why not just implement video chat through mplayer?

get the video signal and pass it through an insecure direct p2p connection?

for most people security is not a problem with chat software because you already know who you are chatting with....even if security as far as privacy is concerned openssl could be used to encrypt the living daylights out of the whole transmission

I am thinking that this would require a fairly minimal modification to pidgin...since mplayer would be used no fundamental modification of the gui would be needed. also it would support all the streamed protocols that mplayer supports

I want to use it to talk with my family who I only see once every year or two.

comment:67 in reply to: ↑ 66 Changed 9 years ago by cb88

Replying to cb88:

I have a suggestion....

why not just implement video chat through mplayer?

get the video signal and pass it through an insecure direct p2p connection it would only work for pidgin at first but others would probably pick it up?

for most people security is not a problem with chat software because you already know who you are chatting with....even if security as far as privacy is concerned openssl could be used to encrypt the living daylights out of the whole transmission

I am thinking that this would require a fairly minimal modification to pidgin...since mplayer would be used no fundamental modification of the gui would be needed. also it would support all the streamed protocols that mplayer supports

I want to use it to talk with my family who I only see once every year or two.

What is wrong with it being pidgin that sets the standard instead of the networks? If you guys impement video and audio it will attract more people... in order not to loose users im network will be forced to comply with pidgin standards.

comment:68 Changed 9 years ago by hbons

"What is wrong with it being pidgin that sets the standard instead of the networks? If you guys impement video and audio it will attract more people... in order not to loose users im network will be forced to comply with pidgin standards."

I have no problem with "Pidgin to Pidgin VV" support. But "force to comply with pidgin standards" should never be the goal, sounds a little too much like the richests software company in the world to me.

comment:69 Changed 9 years ago by cb88

you missunderstand... since pidgin IS open source we can't REALLY force anything... perhaps i should have said it would make pidgin standard highly desirable for compatablity and of course if someone comes along with a better idea that too can be impelmented.

comment:70 in reply to: ↑ 66 ; follow-up: Changed 9 years ago by Yerch

Replying to cb88: Let me preface this by saying that nothing helpful will be forthcoming from my post...

I admit I stumbled upon this ticket rather accidentally but have found it to be one of the most fascinating reads I've had in a while. The entire thing strikes me as rather bizarre.

It seems that everyone is being told that the REASON for lack of implementation of this particular feature is largely due to developer disinterest in working on the problem. Yet it seems that the developers have become quite annoyed that people continue to try and generate developer interest in this problem.

That, my friends, is a problem.

Presumably the purpose of opening this ticket is to state what the obstacles are to implementation and seek constructive advice on how to overcome those obstacles. But the only stated obstacle is developer disinterest. Hence, an entire thread of people trying to stress the importance of this particular feature.

Well, kids... You get what you ask for. State the problem differently and you'll get different responses. Until then you'll get whining.

Bye, bye.

I have a suggestion....

why not just implement video chat through mplayer?

get the video signal and pass it through an insecure direct p2p connection?

for most people security is not a problem with chat software because you already know who you are chatting with....even if security as far as privacy is concerned openssl could be used to encrypt the living daylights out of the whole transmission

I am thinking that this would require a fairly minimal modification to pidgin...since mplayer would be used no fundamental modification of the gui would be needed. also it would support all the streamed protocols that mplayer supports

I want to use it to talk with my family who I only see once every year or two.

comment:71 in reply to: ↑ 70 ; follow-up: Changed 9 years ago by rlaager

Replying to Yerch:

It seems that everyone is being told that the REASON for lack of implementation of this particular feature is largely due to developer disinterest in working on the problem. Yet it seems that the developers have become quite annoyed that people continue to try and generate developer interest in this problem.

Your premise here is wrong, so the rest of your argument is moot.

We already know lots of people want these features. Having people whine at us about something we already know isn't interesting.

Throwing me enough money to take time off my job would be interesting (I'm not seriously asking for that, but trying to make a point). Stepping up and making progress on these features to generate some momentum would be interesting.

comment:72 follow-ups: Changed 9 years ago by madboymont

If you think that mi previous post seems aggressive, well, let's have a look at the global situation. Users are requesting essential features needed for a nowadays IM client, that clearly have a major impact in the architecture. Developers put the excuse that they want to keep the architecture stable in order not to do this work, but the funny thing comes when they put that feature request in a category named "Patches Welcome". This is an open source project, right, you tell me that I have no right to say you what to do with your free time, you're right. In this case the thing could be allowing new developers join the team, but some of the required skills you ask I look at them as excessive. I think that asking for someone with 5 years of C development experience and undocumented network protocols is very restrictive, and gives the idea that you don't want new people in your team. And as Yerch said: "That, my friends, is a problem".

comment:73 in reply to: ↑ 72 Changed 9 years ago by rlaager

Replying to madboymont:

Nobody is saying you need 5 years of experience in C or undocumented protocols. I have neither NOW and certainly did not when I became a developer.

If you want to tackle this project, start by checking out the existing .vv branch, compile it, look at the code, and start hacking on some part you understand. If you don't want to tackle this project, then please wait until someone else does the work or use another client.

comment:74 follow-up: Changed 9 years ago by madboymont

From the description: "If you really want to help, have 15 hours a week of free time, have at least five years experienced programming in C and have experience with undocumented network protocols then please email our devel mailing list and ask where you can get started."

comment:75 in reply to: ↑ 74 Changed 9 years ago by rlaager

Replying to madboymont:

From the description: "If you really want to help, have 15 hours a week of free time, have at least five years experienced programming in C and have experience with undocumented network protocols then please email our devel mailing list and ask where you can get started."

Okay, so someone is saying that. I wouldn't take that literally, though. The point is that this isn't an easy project for new contributors. You'd need skill and dedication to make real progress.

comment:76 in reply to: ↑ 71 Changed 9 years ago by Christian

Replikon to rlaager:

Throwing me enough money to take time off my job would be interesting

So, rlaager, out of sheer curiosity: just about how much money would that be, please...? ;)

comment:77 Changed 9 years ago by iwkse

With par condicio, he maybe would ask the same money google offered to the Gtalk audio/video developer :DP

comment:78 in reply to: ↑ 72 Changed 9 years ago by Yerch

"Your premise here is wrong, so the rest of your argument is moot."

Well, it wouldn't be the first time I've been wrong. :)

However, if you're NOT saying that the primary obstacle to implementation is lack of developer interest in working on this particular problem then what exactly ARE you saying?

Read through all of these posts again. Virtually all of them are comprised of incessant whining about how much people feel they need this feature and the replies from the developers all seem to indicate that this just isn't a priority for them. Hell, the very first paragraph on the page says that it is a big undertaking and very few core developers are interested in working on it. Disinterest is THE major theme here. Therefore, it cannot be surprising to you when people prattle on and on trying to generate interest.

The whining is pointless and, I assume, frustrating to the developers and anyone who is genuinely interested in helping. I'm not in any way throwing my support behind the whiners. Nor am I surprised that people who generate code for fun have poor communication/social skills. What I am saying is that if you open up a forum to the public and tell them they can't have what they want because you don't care enough to waste your precious time figuring it out then you simply cannot be surprised when they inundate you with begging/whining/pressure to care.

Either close the public comments and leave this space strictly for updating the progress on the issue, or phrase what you are seeking in a constructive way. But snarkily telling people to have five years of coding experience and get to work and/or shut up and go find another client isn't productive. It leads only to the head butting and pointlessness of this entire thread which isn't helping anything. The problem is communication - of that premise I am certain.

comment:79 Changed 9 years ago by i-nZ

I have created a project on Cofundos for Voice and Video support: http://www.cofundos.org/project.php?id=89

I hope you don't mind.

comment:80 Changed 9 years ago by mcfly

I´m using Wengophone (http://www.wengophone.com/) so far that makes use of the pidgin library but is not as updated as the original Pidgin client is. I´ve learned from their forums (http://forum.wengophone.com/viewtopic.php?t=6425) that their sponsor, the french Wengo telecom company withdraws from the project and the ability to make landline and cellphone calls out of the software. What´s left is a GPL´ed PC-to-PC-VoiP/Video-Client. I´d like to pick up an idea of a forums member there:

Would it make sense to join the forces of both project developer groups in a next generation Pidgin client? Ex-Wengophone users could profit from an always up-to-date IM client functionality and Pidgin users would have an AV-Client within their known software.

comment:81 follow-up: Changed 9 years ago by forlorn_beast

What section of the API should I be looking at to figure how to get a plugin to catch when a protocol is attempting to receive audio/video? I am looking at signals and request. Should I be looking into the protocols themselves?

Well, just to let you know what I am trying to do is write plugin that calls a program that pipe() and fork()s (or createProcess() and createPipe() for windows) an instance of mplayer for every incoming voice or video stream. I am not too familiar with the formats of the stream, but I have a feeling mplayer can figure it out. I tried checking out the C howto page, but the documents I was hoping to learn from are incomplete.... :(

That fact that I am new to C programming doesn't help, but I don't care what anyone says, if this is how I want to learn it, at least something useful *might* come out of it. Anyone's help would be very much appreciated. I got through the simple plugin tutorial, and I understand most of it anyways, so I figure just a little insight to which functions would be most useful to me would be great. I will also try to look at the source for other plugins to catch any understanding, but at this point, anything helps. Im not really focused on a permanent solution, just a plugin for those that use mplayer. Yeah, it may seem counterproductive in this manner to some, but hey, it is something. Libpurple is so nice and neat the way it is, why hack it up when a solid implementation hasn't been decided yet. I think the plugin method is the way to go, at least for those people who really want something working now. Let me know what you think. Anyone?

comment:82 in reply to: ↑ 81 Changed 9 years ago by Xinef

Replying to forlorn_beast:

Well, just to let you know what I am trying to do is write plugin that calls a program that pipe() and fork()s an instance of mplayer for every incoming voice or video stream.

Just about that part, I think that mplayer is not such a flexible and practical solution (you have only audio/video output). Libraries such as gstreamer would give you both input and output.

Anyways, nice to see someone with great motivation, thank you for investing your time on this.

comment:83 follow-up: Changed 9 years ago by forlorn_beast

Well, I was actually gonna try to use mplayer just to deal with the receiving, and have mencoder deal with the encoding for the protocol sending. I mean, I should look into gstreamer. It might be a good alternative. Either way, I still have to work on making capturing the video/audio from v4l and whatever sound library is in use. Honestly, I am barely getting into C coding. I have only done web development so far with php and HTML/javascript, but I understand logic, so its not like I am starting from scratch learning how to program.

I did study assembly but didn't code in it extensively. I just learned enough to understand how to follow jumps and what the logic instructions are. So I find myself trying to work on stuff, and this is something I would like to work on. I understand that there is already work on im.pidgin.pidgin.vv in the monotone code, but I don't know if I can help with any of that. I clearly don't have enough experience compared relatively to the guys already working on that. They are working on a permanent solution as well, where as I am trying to make a quick fix only if it worx for you kind of solution.

I did check out the #pidgin channel on irc.freenode.net and asked about which headers files I would look into to see how pidgin handles the stream when a protocol signals that someone wants to broadcast something to the user, but they just sort of asked me to work on the pidgin.vv stuff. I really didn't want to persue it any further, but I do know that it should be possible to have libpurple pass the data to the plugin when a user accepts to receive the broadcast. Of course, I will also have to handle sending the users own broadcast, and of course in the proper format for the protocol. That is where I was expecting the mplayer/mencoder duo to come in handy.

With the specifications of the video and audio, it shouldn't be difficult to call mencoder with the right parameters with an execlp() and with the plugin being able to identify the protocol and passing that identifying data, have the program run the right function containing the execlp() to encode it properly. I still haven't worked out how to get the stream back to libpurple, but that is why m4vv4lp at sourceforge is still in planning. I will take a look into gstreamer tonight and see if it wouldn't be difficult for me to catch on. And if you can tell me which header to look at to figure out how to intercept the signal and data for webcams, please let me know. That would help me out a lot. Thanks for the support.

comment:84 in reply to: ↑ 83 Changed 9 years ago by compengi

forlorn_beast: Several months ago I was interested in Webcam implementation for Pidgin so I started my trip to search over the net for a clue to find any Library or maybe a already build Plugin used by any software to have an idea of how all this works. And to mention I'm just like you a new to C but I do have logic to follow up and understand stuff. So I found a Library called "libmimic" it's latest version is 1.0.4. This Library uses VLC as encoding/decoding, it's also written in C and what I found during my search is that there is an application called "aMSN" that uses this Library to support Webcam, you can find it here http://sourceforge.net/project/showfiles.php?group_id=120931&package_id=131853 . Check this Library this could help you a lot in you work and understanding.

comment:85 in reply to: ↑ description ; follow-up: Changed 8 years ago by malu

Replying to MarkDoliner:

Add voice and video support for all protocols that support it. This WILL happen eventually, but it is a rather large undertaking and very few core developers are interested in working on it.

DO NOT leave a comment here asking us when it will be finished, or asking us to hurry, or telling us why we should spend all our free time working on it.

If you really want to help, have 15 hours a week of free time, have at least five years experienced programming in C and have experience with undocumented network protocols then please email our devel mailing list and ask where you can get started.

I have now an "half-working" version implementing XMPP/Jingle Audio. Issues:

  • It doesn't handle transport candidate information quite correctly yet (but Farsight stills sets it up, at least between two machines on my LAN).
  • Sound quality, at least for me, is not good. Because it doesn't want to use the Speex codec, but reverts to PCMU.
  • There's lots of echos.
  • When initating a call, the same widgets is shown as when receiving a call (i.e. "Accept"/"Deny"). There is no notification in the iniator's conversation log that the call has started.
  • It doesn't handle connection problems well, and will probably crash in some cases.
  • It doesn't take video into account at all.
  • It doesn't check the other end's capabilities before making a call, neither does it advertise it's support of Jingle audio.

I'll post this patch against im.pidgin.pidgin.vv if someone is wants to look at it, and as a sign of some activity.

Changed 8 years ago by malu

Rudimentary voice call support for XMPP/Jingle Audio

Changed 8 years ago by malu

comment:86 in reply to: ↑ 85 ; follow-up: Changed 8 years ago by malu

Replying to malu:

Replying to MarkDoliner:

Add voice and video support for all protocols that support it. This WILL happen eventually, but it is a rather large undertaking and very few core developers are interested in working on it.

DO NOT leave a comment here asking us when it will be finished, or asking us to hurry, or telling us why we should spend all our free time working on it.

If you really want to help, have 15 hours a week of free time, have at least five years experienced programming in C and have experience with undocumented network protocols then please email our devel mailing list and ask where you can get started.

I have now an "half-working" version implementing XMPP/Jingle Audio. Issues:

  • It doesn't handle transport candidate information quite correctly yet (but Farsight stills sets it up, at least between two machines on my LAN).
  • Sound quality, at least for me, is not good. Because it doesn't want to use the Speex codec, but reverts to PCMU.
  • There's lots of echos.
  • When initating a call, the same widgets is shown as when receiving a call (i.e. "Accept"/"Deny"). There is no notification in the iniator's conversation log that the call has started.
  • It doesn't handle connection problems well, and will probably crash in some cases.
  • It doesn't take video into account at all.
  • It doesn't check the other end's capabilities before making a call, neither does it advertise it's support of Jingle audio.

I'll post this patch against im.pidgin.pidgin.vv if someone is wants to look at it, and as a sign of some activity.

Oh, and by the way:

Currently it wont run under Windows. The call button in the conversation toolbar is not connected to anything (right now), you have to use the menu item "Voice Call" in the Conversation menu.

comment:87 Changed 8 years ago by Sim-on

cc

Changed 8 years ago by Maiku

Allows voice conversations with the official google talk client

Changed 8 years ago by malu

comment:88 in reply to: ↑ 86 ; follow-up: Changed 8 years ago by malu

Replying to malu:

Added a new patch. This patch is against the current (as of 2008-03-18) i.p.p.vv

Replaced fprintf with purple_debug_info. Changed malloc and free to g_new and g_free.

This version changed send "content-replace" instead of "content-modified" when connection established (to comply with updated XEP).

It also shows when the call has started in the initiator's conversation window.

Issues:

  • Responder does not send "content-accept" when recieving "session-initiate" (I get a crash when seding it, which I haven't figured out yet...)
  • There is still two call widgets added to the conversation window of the initiator.
  • Calling again after having hanged up doesn't work.
  • It doesn't handle the case when no codecs of the initator and responder matches.
  • There is no way for the initiator to cancel a call before the responder as answered.

comment:89 in reply to: ↑ 88 Changed 8 years ago by malu

Replying to malu:

Replying to malu:

Added a new patch. This patch is against the current (as of 2008-03-18) i.p.p.vv

Replaced fprintf with purple_debug_info. Changed malloc and free to g_new and g_free.

This version changed send "content-replace" instead of "content-modified" when connection established (to comply with updated XEP).

It also shows when the call has started in the initiator's conversation window.

Issues:

  • Responder does not send "content-accept" when recieving "session-initiate" (I get a crash when seding it, which I haven't figured out yet...)
  • There is still two call widgets added to the conversation window of the initiator.
  • Calling again after having hanged up doesn't work.
  • It doesn't handle the case when no codecs of the initator and responder matches.
  • There is no way for the initiator to cancel a call before the responder as answered.

And I forgot to mention: I changed the functions can_[recieve|send]_[audio|video] with one function in the prpl's can_do_media that takes a PurpleConnection?, a buddy (const char *who) and a PurpleMediaType? and returns TRUE or FALSE depending on if that configuration will be supported.

(Sadrul, I don't know if you check this in your finch modification...)

Anyway, currently this uncondionally returns TRUE for XMPP.

comment:90 Changed 8 years ago by sadrul

There is still two call widgets added to the conversation window of the initiator.

Do not create a PidginMedia? in menu_initiate_voice_call_cb. 'serv_initiate_media' should be the last statement in that function. The source/sink for the PurpleMedia? are set and PidginMedia? gets added by the 'init-media' callback ('pidgin_conv_new_media_cb'), and do not need to redone in menu_initiate_voice_call_cb.

comment:91 Changed 8 years ago by sadrul

I should mention that the patch 'pidgin-vv-google-talk.diff' from Maiku (Michael Ruprecht) works for me, ie., with this patch, someone using the official gtalk client can initiate a call to a purple client.

comment:92 Changed 8 years ago by charding

cc: me

comment:94 Changed 8 years ago by sadrul

Argh. The rest of the changelog from afe2ae57083c4e8da50615930fcb9adca74cb908:

Patch from Marcus Lundblad ('mlundblad') to improve audio support in xmpp.
It's now possible to initiate an audio session, sometimes. It's somewhat
buggy.
Some other issues also need to be resolved:
 * Properly get rid of the compile warnings
 * Rename the serv_ functions with proper namespacing.
 * Possibly rename the purple_media_ functions that don't deal with a
   PurpleMedia (e.g. purple_media_audio_init_src) to something different,
   e.g. purple_media_util_, or even purple_gst_util etc.

Anyone interested: please make farther patches against the im.pidgin.pidgin.vv.ticket34 branch.

comment:95 Changed 8 years ago by sadrul@…

(In 78bde7ce64ad6cdd2db4960f49b6d251171e8158) Patch from Michael Ruprecht (Maiku) to announce voice support to the officia gtalk client. References #34.

comment:96 Changed 8 years ago by MarkDoliner

Is there any reason for maintaining im.pidgin.pidgin.vv.ticket34 as a separate branch, rather than just merging everything into im.pidgin.pidgin.vv?

comment:97 Changed 8 years ago by sadrul

I don't know if Sean had any specific plans about the media API, and whether the changes in these patches go with his plans or not. So I am kind of waiting for a response from him before merging the vv.ticket34 branch with the 'main vv branch'. Regardless, I plan to merge this back in by the time google-talk is functional enough (I don't expect that to require too many more patches).

comment:98 Changed 8 years ago by seanegan

I've got no strong feelings about the API, and it doesn't look like there's that much there that can't easily change later on if need be. I say commit the patch to vv.

comment:99 Changed 8 years ago by sadrul

Great! The changes have been merged to im.pidgin.pidgin.vv, and the other branch (im.pidgin.pidgin.vv.ticket34) has been suspended.

Patch writers: please make farther patches against im.pidgin.pidgin.vv. Switching to this branch (use the command 'mtn up -r h:im.pidgin.pidgin.vv') should not require any manual conflict resolution.

Changed 8 years ago by Maiku

Fixes up the video input preference and preview button

comment:100 Changed 8 years ago by Maiku

The patch I added fixes up the video input preference and preview button on the media page in the preferences. It allows you to choose between the default gconf video source, v4l, and v4l2 and then also the devices available for each plugin. The video preview isn't embedded into the page yet though.

Changed 8 years ago by malu

comment:101 Changed 8 years ago by malu

The last patch should do away with some of the compiler warnings. I left some unused variables in "jabber_jingle_create_content_accept" because the code there is commented out, but I expect it to return (and actually do something...) when the getting info on the established remote transport candidate get functional. I also left some warnings in code I got a feeling might introduce conflicts in gtkprefs.c against Maikus patch.

comment:102 Changed 8 years ago by malu

Oh, and I replaced some of the code in "jabber_initiate_media" by a function in jingle.c that uses code used in other places to avoid some duplicate code...

comment:103 in reply to: ↑ 1 ; follow-up: Changed 8 years ago by roriniho

aMSN has Video & voice support, and is open source, so perhaps we could use bits of their code? This should be a higher priority, as it is the one thing stopping me from switching permanently from WLM to Pidgin. The second you get this sorted, I'm there. Seriously guys, this is a major priority, as, with a cute name like Pidgin, you're looking to pull in all the sexually-frustrated female teenagers you can get, and what do they want, apart from cross-platform support? That's right, Webcam and Mic support so they can have cyber-sex with their equally-frustrated teenage boyfriends. Get this feature in, and suddenly Pidgin will be massively mainstream.

comment:104 in reply to: ↑ 103 Changed 8 years ago by roriniho

Replying to roriniho:

aMSN has Video & voice support, and is open source, so perhaps we could use bits of their code? This should be a higher priority, as it is the one thing stopping me from switching permanently from WLM to Pidgin. The second you get this sorted, I'm there. Seriously guys, this is a major priority, as, with a cute name like Pidgin, you're looking to pull in all the sexually-frustrated female teenagers you can get, and what do they want, apart from cross-platform support? That's right, Webcam and Mic support so they can have cyber-sex with their equally-frustrated teenage boyfriends. Get this feature in, and suddenly Pidgin will be massively mainstream.

Just read through the other comments. sorry. I do have a friend who may be able to give some help: albeit slowly. I'll email him about it, and he might be able to do something to help. Again, sorry for posting useless bullcrap which doesn't help anybody.

Changed 8 years ago by malu

comment:105 Changed 8 years ago by malu

New patch. This is against im.pidgin.pidgin.vv so there is no need to apply the previous patch before.

This fixes some warnings from Gstreamer and also moves some functions not related to PurpleMedia? from libpurple/media.h|c to a new libpurple/mediautil.h|c

Changed 8 years ago by malu

comment:106 Changed 8 years ago by malu

I had made a mistake when moving the code creating "session-initiate" into jingle.c, resulting in a broken Jingle packet. Fixed now...

comment:107 Changed 8 years ago by s031877-gbar

Hi Guys,

Great work. It is great that progress is happening, and I am really looking forward to try it out :-)

But excuse me for perhaps a n00b Q: You're writing that non-devs should not to use MTN checkouts. Any eta on a release with this code included? I don't care if it is a beta-thing. I can live with a few bugs for while just for the fun of testing the voice :-)

Changed 8 years ago by malu

comment:108 Changed 8 years ago by malu

New patch.

This one should remove some possible crashes if it's sent bad jingle packages, it bails out if it can't find a session ID it recognizes.

Also it now prints out a message in the conversation window both when you're calling someone and when someone calls you. It also prints out the alias of the buddy you're calling/getting a call from.

I haven't made these changes for Finch yet...

comment:109 Changed 8 years ago by dave1g

cc

comment:110 Changed 8 years ago by MarkDoliner

FYI there's a website "FOSS Factory" that is now offering a $5,000 CAD bounty for getting voice and video chat working in MSN and Yahoo! I've just heard of this web site and can't vouch for it, but it looks pretty legit. I think anyone can contribute to the bounty. I also think it's possible to split the bounty into "subprojects." So you could split MSN and Yahoo! into two projects of $2,500, for example.

See http://www.fossfactory.org/project.php?p=p12 for more information

comment:111 Changed 8 years ago by i-nZ

Don't also forget about the Cofundos one at http://www.cofundos.org/project.php?id=89 . Currently 300 Euro.

comment:112 Changed 8 years ago by onlineapps

Thats about $5500 together. *whistle* wish I knew more programming :-D

comment:113 Changed 8 years ago by robertsaron

I don't know anything about programming. But I would love to help test the video support for this on beta builds preferrable in windows vista. I can do it in linux, but thats my main OS and do not want it crashing.

If any one can tell me how to do testing or get in on that, please let me know. The current distro I am using is: Ubuntu 7.10 I do like the theming in Kopete better, but as some one has stated Kopete is buggy. It has lots of features over Pidgin, but stability is better then features.

comment:114 Changed 8 years ago by Maiku

Just added a patch.

It changes libPurple to use Farsight 2 instead of Farsight 1. It works as well as it did with Farsight 1 and better in some ways (such as volume meters for audio chat) short of that it can't hold audio conversations with other clients (such as GTalk) because libNice isn't complete. It uses rawudp temporarily instead. Once libNice is completed it should be a relatively simple matter to use it.

Changed 8 years ago by Maiku

Patch to use Farsight 2 (fixed tab spacing)

comment:115 Changed 8 years ago by Maiku

I just uploaded a revised patch which has proper tab spacing. I had it set to 4 spaces per tab instead of 8. The functionality should be the same between the two patches.

Changed 8 years ago by Maiku

Patch to get closer to XEP-0167 and fix a bunch of bugs.

comment:116 Changed 8 years ago by Maiku

I added a patch to get audio conversations to more closely follow XEP-0167 Jingle Audio via RTP. It also fixes quite a few crash bugs, making it much more stable.

comment:117 Changed 8 years ago by Maiku

(In fc6e10ef43f0dfaf9065bebff76a0e090460990f) Updates voice and video to use Farsight 2, gets XMPP voice conferences closer to XEP-0167, and fixes a lot of bugs.

(This applied both of my pidgin-farsight-2.diff and pidgin-audio-xep.diff patches)

comment:118 Changed 8 years ago by Maiku

(In 58161a4a25b5b47a20546fd336a05d5db59f4f82) Fix video plugin/device preference and preview.

(This applied my pidgin-vv-video-pref.diff patch)

comment:119 Changed 8 years ago by Maiku

It appears that all relevant patches on this ticket have been applied. Due to the length and difficulty to follow of this ticket, please submit further patches to separate tickets.

comment:120 Changed 8 years ago by rlaager

  • Milestone changed from Patches welcome to Voice and Video Support

Changed 8 years ago by malu

Determin support for audio and video chat for XMPP

comment:121 follow-up: Changed 8 years ago by greg73654

Come on guys, I mean, by now voice/video is not a hard undertaking. I mean there's things out there like Gstreamer and many other open-source projects that would make it very capable of happening. You guys seriously need to consider. Don't just push it off because it's not in your intrests. I believe many people would agree with me on it.

comment:122 in reply to: ↑ 121 Changed 8 years ago by charkins

Replying to greg73654:

Come on guys, I mean, by now voice/video is not a hard undertaking. I mean there's things out there like Gstreamer and many other open-source projects that would make it very capable of happening. You guys seriously need to consider. Don't just push it off because it's not in your intrests. I believe many people would agree with me on it.

If you take the time to read the comments in this ticket, you'll notice two major points:

1) There is a lot of complexity in the design of pidgin to ensure that features like this remain as protocol and UI agnostic as possible. Its not as simple as plugging in gstream/farsight/libjingle and away we go.

2) There is active work on voice and video support which is noted in this ticket and will also be part of a Google Summer of Code project.

While we appreciate constructive feedback and criticism, yet another "me too, I need this" comment does nothing to advance the cause. If its as easy as you say it is, show us the code. Otherwise, sit back and appreciate that there are people actively working on this.

comment:123 follow-up: Changed 8 years ago by greg73654

Ah, I did not notice that there was support on it now. Thanks for the reply. Oops! _

comment:124 follow-up: Changed 8 years ago by onlineapps

Is there any way to close this ticket? I think it could be a good idea, since people like greg keep on commenting here (and people often aren't as polite as greg is and apologize :-D).

comment:125 in reply to: ↑ 124 Changed 8 years ago by adfhau

Replying to onlineapps:

Is there any way to close this ticket? I think it could be a good idea, since people like greg keep on commenting here (and people often aren't as polite as greg is and apologize :-D).

I would only close this ticket if there's somewhere else people can easily monitor for status on video/voice updates. The reason all these people, including myself, who don't generally program have jumped into the bug tracker, is it's been the only place to watch what's happening.. The bug tracker's been the "place you go to" when there's auth issues with a given server etc. to check "Is it just me".

I mean, the news page seems to get updated maybe every few months and people just aren't that patient :D .. Perhaps if one of the trac pages used TracQuery to display the latest results for searching on milestone "Voice and Video Support" and that was linked from news page?

comment:126 Changed 8 years ago by chemistrydioxide

cc me

comment:127 in reply to: ↑ 123 Changed 8 years ago by polrus

I don't agree with that statment

"yet another "me too, I need this" comment does nothing to advance the cause"

read the thread from the begining and see how many people don't realise how crucial audio/video is for and IM nowadays. C'mon it's 21st century.

comment:128 Changed 8 years ago by kyrian

Have webcam, and I'm willing to test this thing as much as possible. I could be said to be 'interested' in getting it working, too. That is to say, I am interested in video support, but not voice support, although if asked I suspect I could not justify why one and not the other.

I also have significant coding experience in various languages, and would be willing to help where I can with coding. I've given up on my Quickcam because I think it's dead (the hardware, not the V4L linux drivers), but I've got a video camera routed via an Osprey card which performs much the same function.

Please ignore any of the following that comes off as ill-informed waffle or utter blocks, as it may be just that ;-)

From a general perspective based on what I have seen and read it seems like libpurple should be reserved for the body of functionality it currently has, and the frontend clients about the same, with a separate library, and possibly a separate 'video client' with some kind of messaging API between each element [although perhaps there is a 'cheat' available here in that pidgin/libpurple could create a window and control that window, while passing only viewport information to the video handling lib/app and ignoring the rest?] to determine if a video stream is present to or from the participants in a conversation, and retrive 'last updated' and duration information since the video streams would normally be in a separate window, and not a sub-viewport (whatever?) of the existing text conversation window, so that seems the most appropriate model. It does not however seem to be the way development is proceeding at the current time?

I am sick of aMSN which I have used on the rare occasions I wanted to use MSN webcam support, as it is not sufficiently stable or fast to even begin to compete with Pidgin. For example it crashes every time I try to view 'offline messages' which happens every time I start it up.

Can someone just confirm for me what patches I need apply and against which versions of Pidgin/Libpurple? please? And if it's not the latest release, could they tell me where and how to extract the required versions (this MTN thing, no?).

Even if this information is only provided vaguely I may be able to work it out and codify it into some kind of documentation for other interested parties to stop all the questions here!

Just drop me a line as I'd like to get cracking on this. I don't have 15 hours a week, but I have some time and I'd be willing to help where I can.

comment:129 Changed 8 years ago by Maiku

This page ought to give you the information you're looking for: http://developer.pidgin.im/wiki/GSoC2008/VoiceAndVideo

comment:130 Changed 8 years ago by kyrian

Thanks, I have taken the liberty of editing that page (adding comments and links to other Trac pages) to make it a bit more friendly to, erm, how to put this nicely... people who aren't developers?

comment:131 Changed 8 years ago by kyrian

Right, I've had a bit of a conversation with Maiku which has lead at least to a "Additional Tips for Fedora Core 9+ Users:" section in the GSoC2008/VoiceAndVideo page, to get the pidgin-vv code working under FC9 (no earlier version has recent enough gstreamer libs).

However that did not help me get voice/video MSN with pidgin-vv working, which is what I was interested in, as the capability is simply not there, and it's not meant to be there either as I understand it.

So can someone confirm for me where I need to look to get that going?

I am aware that farsight2 has no plugins for it, because they have yet to be ported to the new API.

But what I don't know is if it's as simple as doing that farsight v2 port, and then the support in pidgin-vv will 'just work', or whether there is stuff that needs doing on the pidgin-vv side of things as well?

I asked Maiku but didn't get a helpful response, it simply ended up as the aforementioned Trac page giving a referral to an even more vague page. The two lines of IRC cut and paste really isn't all that helpful here: http://developer.pidgin.im/wiki/vv

I'm interested in doing this, and serious about it, because if nothing else aMSN is horrible by comparison to the quality of Pidgin.

I'm reasonably sure that if it's just a case of updating the Farsight stuff to the v2 API or porting existing code from the old gaim-vv then I can handle it. If it's a case of writing completely new code, then that's not something I have time for, but I'm willing to help wherever I can.

So, some hints, please? anyone?

comment:132 Changed 8 years ago by compengi

Kyrian, since you already know that aMSN isn't that stable but it already supports video chat, not stable, but the library is already there. Why won't you check it out and see how the ports and codecs are handled. It would give you a good push forward of how to start. The library aMSN uses libmimic, you can find it in the source package of aMSN or you could download the library source from SourceForge. Wish you luck in hacking the code.

comment:133 Changed 8 years ago by francescor82

cc me

comment:134 Changed 8 years ago by Tythsai

cc

comment:135 Changed 8 years ago by Dedalus

cc me

comment:136 Changed 8 years ago by Ultrasick

cc me

comment:137 Changed 8 years ago by q10

This message sounds like an urge for the developers to spend all their time to make voice/video a possibility. Please do not forget about implementing voice/video for the "lesser known" protocols that support it, namely QQ. Thanks.

comment:138 Changed 8 years ago by kyrian

An annoyance which I have recently noted is that aMSN does not sensibly seek to get the best settings for your camera, using eg. v4l-conf, or even have any kind of bits per pixel (BPP) setting for it.

The only way to get a decent quality camera to work is to separately run xawtv/v4l-conf for it to derive the best settings and save them, and then (re-)run aMSN afterwards. Otherwise you get a lined and poor quality picture with bad colours (perhaps unsurprisingly tending towards red).

I think I would view this as an essential part of such support in Pidgin, the code for which would be a considerable undertaking in itself I figure.

comment:139 Changed 8 years ago by zorkerz

A bug on launchpad's ubuntu section was filed at https://bugs.launchpad.net/ubuntu/+source/pidgin/+bug/287519 I have forwarded the reporter here.

comment:140 in reply to: ↑ description Changed 8 years ago by flint

I wish I had more coding experience to be able to help, as I'd really like to see this work. Anyway.. putting myself on the CC list.

comment:141 Changed 8 years ago by mycae

cc

comment:142 Changed 8 years ago by miltiad

cc

comment:143 Changed 8 years ago by rekkanoryo

Ticket #8021 has been marked as a duplicate of this ticket.

comment:144 in reply to: ↑ description Changed 8 years ago by siri

hey mark,

We are willing to work on voice/video call support on pidgin.Please tell us where to start.

Thanks, Siri

comment:146 Changed 8 years ago by hm2k

I'm interested in this feature, particularly the handling of audio/video invites via MSN.

At the moment pidgin doesn't even tell you if someone has sent a request, nor does it sent a rejection

http://www.hypothetic.org/docs/msn/client/invitations.php

(look for REJECT_NOT_INSTALLED)

comment:147 Changed 8 years ago by siri

Hey Mark,

We have the source code with us right now, but we aren't able to figure out which file to start from.Can you please tell us the name of the file which has the main function?And categorise the files depending on their functionality?

Thank you. Siri

comment:148 Changed 7 years ago by ryan_at_werk

cc :)

comment:149 Changed 7 years ago by skliarie

cc

comment:150 Changed 7 years ago by morfeasrev

cc

comment:151 Changed 7 years ago by AllahBomber

cc

comment:152 Changed 7 years ago by ferk

Please don't post for jut saying "cc" ...if you want to be added to the cc list you can just post a blank comment, without anything on the text box. This way you will be added without needing to broadcast it to everyone else in the cc list.

comment:153 Changed 7 years ago by bjlockie

Alot of people just write 'cc' when it is unnecessary, they do it on other projects too. It is not really obvious you can add yourself to 'cc' without posting a comment. And seeing other people do it makes it seem necessary.

comment:154 Changed 7 years ago by hm2k

This is a usability issue created by pidgin developers, not Trac.

This is mentioned here: http://developer.pidgin.im/ticket/7167

If people are doing it wrong, you probably need to make it clearer.

comment:155 Changed 7 years ago by deryni

#7167 is about an unrelated issue, it is about the use of the "cc" in the text and label of the CC radio buttons. That has nothing to do with the fact that it is unclear that you do not need to type comment text to have the cc addition take effect. Perhaps we should disable the text entry field when the cc radio buttons are manually modified, or at least indicate that no comment is necessary.

comment:156 Changed 7 years ago by Tythsai

I'm sorry guys, but regardless of ticket #7167, it is unclear that you can have yourself added to the cc list on a ticket without writing SOMETHING in the comment box. As deryni said, perhaps a good way to resolve this problem is to default the "Cc me to this ticket:" radio buttons to "No", and change the text "You are permanently added to the cc list because you commented on the ticket." to "No comment is necessary if you only wish to be CCed to the ticket and have indicated that using the buttons to the left."

comment:157 follow-up: Changed 7 years ago by zorkerz

I'm sorry to butt in. I think this CC issue is import Ive been hung up and confused by it a number of times. Wouldn't the appropriate course of action be to start a new ticket for this issue instead of cluttering up an unrelated and already over cluttered ticket. That way everyone interested can find the discussion and people not interested don't get emails about it.

comment:158 in reply to: ↑ 157 ; follow-up: Changed 7 years ago by deadowl

It's less annoying to get an occasional "cc" in my email than it is to get an argument about it.

In any case, to make this message less annoying, I'll discuss the actual topic. I have a feeling that Pidgin is going to lose developers to GNOME's almost-supports-what-I-want-but-not-quite Empathy if Pidgin doesn't start visibly attempting to support voice and/or video anytime soon.

Replying to zorkerz:

I'm sorry to butt in. I think this CC issue is import Ive been hung up and confused by it a number of times. Wouldn't the appropriate course of action be to start a new ticket for this issue instead of cluttering up an unrelated and already over cluttered ticket. That way everyone interested can find the discussion and people not interested don't get emails about it.

comment:159 in reply to: ↑ 158 Changed 7 years ago by q10

I agree with deadowl. I don't quite understand the difference between Pidgin (if it had vv) and Empathy, since both aim to use Farsight2. However, we do need to start building voice/video plugins to Farsight2 for every "lesser" protocol imaginable that supports it, especially QQ (The main QQ client that most people use is even more bloated with ad/spyware than Windows Live).

Replying to deadowl:

It's less annoying to get an occasional "cc" in my email than it is to get an argument about it.

In any case, to make this message less annoying, I'll discuss the actual topic. I have a feeling that Pidgin is going to lose developers to GNOME's almost-supports-what-I-want-but-not-quite Empathy if Pidgin doesn't start visibly attempting to support voice and/or video anytime soon.

Replying to zorkerz:

I'm sorry to butt in. I think this CC issue is import Ive been hung up and confused by it a number of times. Wouldn't the appropriate course of action be to start a new ticket for this issue instead of cluttering up an unrelated and already over cluttered ticket. That way everyone interested can find the discussion and people not interested don't get emails about it.

comment:160 Changed 7 years ago by ryan_at_werk

damn, was hoping this'd get picked up again for google summer of code :(

comment:161 follow-up: Changed 7 years ago by morbidchimp

I've been a long time user of Pidgin and been watching this thread a while. When I first started the thread, I wasn't such a great programmer. I dont have 5 years c programming in Linux, but programming is programming and is overrated in its difficulity. Its just basic math, syntax and convention and time.

So, to help put an end to this problem - and no offense, but Ignoring all the developers standards, I'm going to fork libpurple and pidgin myself to implement as much as I can. I'll try stick to the conventions the pidgin dev's use and their ideals, but I promise nothing.

I'll post soon when I have a repository setup and begin coding. I've to start reading through the code and learn how things are done in libpurple but it shouldn't take me longer than a few weeks. I've not got 15 hours a week to spare, a little less most weeks - more other weeks. Lets see how it goes.

Also, I'm not to concerned with Mac or Windows compatibility and I hate KDE. So the only environment I particulary care for atm is Linux. Though I'll work toward Windows compatibility too.... this will probibly make it less portable but for my needs its just enough.

If anyone would care to help with this, let me know.... but at least now you are going to have one developer working wholly on it.

Wish me luck,

Best regards,

Ivan

comment:162 in reply to: ↑ 161 ; follow-up: Changed 7 years ago by charkins

Replying to morbidchimp:

So, to help put an end to this problem - and no offense, but Ignoring all the developers standards, I'm going to fork libpurple and pidgin myself to implement as much as I can. I'll try stick to the conventions the pidgin dev's use and their ideals, but I promise nothing.

Ivan: Before you fork, understand that this ticket is not a record of the development that has happened on voice/video (vv) in pidgin. There was a Summer of Code project which laid the ground work for vv. Since then, Maiku (the SoC'er) has continued to improve the vv branch and has become a full pidgin developer. I suggest checking out the pidgin.vv branch, build it, familiarize yourself with the vv code, and get hacking! I'm assuming Maiku can be tracked down in IRC if you have specific questions, to coordinate your efforts or figure out how to get your patches merged back in to the vv branch.

To all: As others and myself have indicated before, "me too's" on this ticket don't bring us any closer to vv. I understand and appreciate that a lot of users want to see this functionality added to pidgin. If you want the feature but can't contribute code, hold tight and hopefully it'll get there soon. If you can contribute, before you consider forking, check out pidgin.vv and try to help out. BUT, PLEASE DO NOT FILE BUGS AGAINST THAT BRANCH!

comment:163 in reply to: ↑ 162 Changed 7 years ago by morbidchimp

Thanks for the reply and I understand your concerns but the reason I chose to fork rather than try get involved directly are for the following reasons; If you still feels these concerns are invalid then I'll consider trying it the dev's way.

Number One: I've 15 years Windows Development but in total I have less than 5 years C/C++ Development skills (over the course of 10 years). Since joining wholly the world of open source and ditching MS and the like I've found my skills in alot of areas lacking compared to the "hackers" in the GNU world. Mostly its because I have to unlearn alot of things I took for granted and partly because I'm so used to development in a completly different environment, so I'm learning as I go in alot of area's. Most of my experience in programming was using either Java or Borland Delphi, any C was able to do was few and far between because it wasn't needed for work. So where I see a way to implement something and I go about doing it that way I want to see results in a relativily short time, it may possibly not be the best way to do it - I'm results driven, not purity of method. For the moment anyway.

Now given that and the experience the average libpurple and Pidgin development team has with cross platform programming, the libpurple framework as a whole and their experience with c programming itself I find myself more tempted to crash and burn on my own and make my mistakes as I go but where it works for my needs, use it. And should it work for someone else, then let them use it. Should someone else see that it could be implemented and used in libpurple itself then let them take it or contact me and I'll try my best to port it to libpurple

NUmber 2: Also, given that pidgin/libpurple aim for cross platform compatibility and complete seperation of engine/protocols and API/GUI stuff and my own goals are much less grand I taught it better to start a fork because my own needs are much less limited and I dont want my own needs to step on the toes of others or waste anyones time rejecting patches that dont adhere to your general goals.

A: It wouldn't be advertised or aimed at been cross platform (though it might work, we'll see) B: It wouldn't be advertised or aimed at some protocols (for video/sound, prob only specific protocols that i need to use) C: It may just become something completely different to what Pidgin and Libpurple are meant to be. Or an early evolution of something pidgin will eventually take over

However, you made a few points that I wasn't aware of before I made the post.

First: I wasn't aware of recents improvements to vv - this and I hadn't heard you were involved in the Gosc. and that there had been improvements to the vv lately will obviously change my plans.

I'll check out the code and "get hacking!" as you say. I've only been doing some general reading on libpurple since yesterday and when I get back home (tomorrow) I'll download everything I need and take a proper look. I have some time off over the next two weeks, holiday plans are scrapped so I'm looking forward to just hacking.

"I'm assuming Maiku can be tracked down in IRC if you have specific questions, to coordinate your efforts or figure out how to get your patches merged back in to the vv branch."

I Have the feeling Maiku will be enundated with many questions. I'll try track him down and see whats happening and if I can help. I take it he knows the code very well by now and it may be that if our aims are similiar and I have the skills I can carry out some tasks and make some additions of my own.

All that said, its really good to hear that someone has taken more than an passive interest in the voice/video area. This could open up in the future possibility for libpurple/pidgin to integrate possibly with some VoIP or SIP protocols too. Its not unreasonable to assume that once pidgin reaches the level of IM + Sound/Video? that somewhere along the line someone will wonder why it doesn't integrate with VoIP/Sip and want that implemented too. Beyond the scope of this topic I know :)

Thanks for your comment;

CHeers, Ivan

comment:164 Changed 7 years ago by QuLogic

  • Owner changed from seanegan to Maiku

Clearly Sean is not the one to own this ticket.

comment:165 Changed 7 years ago by hm2k

What about using Tokbox like Digsby does?

...

http://www.tokbox.com/

"Tokbox is a start-up providing free video calling, video conferencing and instant messaging services through an online application, similar to Skype"

http://en.wikipedia.org/wiki/Tokbox

Sure it's not native, and it's not open source but it is free and does the job.

comment:166 Changed 7 years ago by J2525

I am soooooo glad it was changed from seanegan to Maiku. Maybe there will actually be hope for this!!!!!!! I mean its been TWO YEARS since this ticket was opened! It still seems odd that even the lesser programs have V/V, but you do not... but now that the owner changed, maybe we can see this project completed. :)

comment:167 Changed 7 years ago by adfhau

Ouch.. that's a bit harsh.. Whilst Sean may not have been enthusiastic about voice/video features, I think it's a little harsh to dig into him quite this much given his contribution to other areas of the application.

Sure - I, like others, am driven to using things like Skype to get workable A/V in linux and have found the delay very inconvenient (and if something of a suitable grade happened to implement these features into a stable, reliable multi-protocol client for linux, I'd consider switching) - but besides this, there's no denying that Pidgin plays a role in a significant part of my personal and work lives and without it and its backend libraries, we, adium, finch and some other app users would be without a very useful tool.

Pressure needs to be maintained, frustration is expected, but direct attacks are not constructive. The devs benefit from knowing the features users want, but to demotivate them is not advantageous to users' long term goals.

comment:168 Changed 7 years ago by J2525

Oh, that was not meant to be any kind of dig! I am soley looking at the fact that on this ticket, he wasn't right for it. Didn't seem interested, and the project didn't get very far, its that simple. So its better that we have someone else taking charge. There was meant to be no attacks on any person (the part about it being odd that lesser programs have V/V, that is just what it is, and if anything it goes against libpurple).

I am writing this off topic comment because if you felt it was harsh, there is a possibility that sean would... so if he sees this, its not a dig. From now on I will be back on-topic about V/V :)

comment:169 Changed 7 years ago by hm2k

Can we focus on the solutions rather than discussing it.

Thanks.

comment:170 Changed 7 years ago by J2525

I agree.

I saw the post about Tokbox and read some of the stuff on the links. Is this similar to "mebeam" where all it is a video through a website, but can be used through your IM program? Here it is on Adium as an plugin: http://www.adiumxtras.com/index.php?a=xtras&xtra_id=4959. Its a great idea for the beginning, but I think that integration will be the best thing for the future.

comment:171 Changed 7 years ago by darkrain42

Ticket #9776 has been marked as a duplicate of this ticket.

comment:172 Changed 7 years ago by J2525

Any updates on this ticket? I know its only been 3 years, but its an exciting major feature :) I would love to see you guys able to compete with first party IM software and other third party ones.

comment:173 Changed 7 years ago by Robby

J2525, VV is one it's way to Pidgin, more than ever before. :) But don't expect any news in this ticket.

comment:174 Changed 7 years ago by J2525

Thanks Robby for the hope. I look forward to it coming! Don't know if your the same Robby from Adium, but if so, keep up the amazing work on your program!

comment:175 Changed 7 years ago by Robby

J2525, yes it's http://trac.adium.im/wiki/Robby. Thanks for your kind words, I'm no developer myself, though. :)

comment:176 Changed 7 years ago by ryan_at_werk

Robby, where can we track development of VV in pidgin?

comment:177 Changed 7 years ago by Robby

GSoC2008/VoiceAndVideo, vv and http://trac.adium.im/wiki/PidginVV have some information on its progress but aren't updated often and therefore not necessarily—well—"up to date".

The closest way of monitoring VV development is watching the repository checkings (commits) to the main branch: http://developer.pidgin.im/viewmtn/branch/shortchanges/im.pidgin.pidgin.

comment:178 Changed 7 years ago by darkrain42

  • Milestone changed from Voice and Video Support to 2.6.0
  • Resolution set to fixed
  • Status changed from new to closed

comment:179 follow-up: Changed 5 years ago by surak

The FAQ does not mention MSN at all: http://developer.pidgin.im/wiki/Using%20Pidgin#VoiceandVideoMicrophoneandWebcamSupport

The plugin is available, as noted here: http://developer.pidgin.im/wiki/vv pointing to http://imfreedom.org/wiki/MSN:AV

So at least point to the fact that there is something done.

comment:180 Changed 5 years ago by surak

and to be honest, that page does not help either. This one should be at the FAQ: http://farsight.freedesktop.org/wiki/

comment:181 in reply to: ↑ 179 Changed 5 years ago by QuLogic

Replying to surak:

The FAQ does not mention MSN at all: http://developer.pidgin.im/wiki/Using%20Pidgin#VoiceandVideoMicrophoneandWebcamSupport

Because it's not supported.

The plugin is available, as noted here: http://developer.pidgin.im/wiki/vv pointing to http://imfreedom.org/wiki/MSN:AV

So at least point to the fact that there is something done.

I'm not even sure whether those pages are true or not. Farsight used to support MSN, but they closed off some servers and I'm not sure whether the implemented method still works.

Note: See TracTickets for help on using tickets.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!