Bug 127223

Summary: Yahoo webcam stream is almost completely grey (bad contrast/brightness).
Product: [Unmaintained] kopete Reporter: Jesse Litton <kde.org>
Component: Yahoo PluginAssignee: Kopete Developers <kopete-bugs-null>
Status: RESOLVED WORKSFORME    
Severity: normal    
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Jesse Litton 2006-05-12 23:59:43 UTC
Version:           0.11.93 (0.12 Beta 2) (using KDE 3.5.2, Kubuntu Package 4:3.5.2-0ubuntu17 dapper)
Compiler:          Target: x86_64-linux-gnu
OS:                Linux (x86_64) release 2.6.15-22-amd64-k8

I'm testing between two machines on my LAN.  One is a Win2k system, running Yahoo! IM w/Voice 7.5.  The other is Kubuntu Dapper Flight 7 running Kopete CVS 06/05/12 (ymd).

Sending video from the Y7.5 client to Kopete works fine.

When I send video in the other direction, from Kopete to Y7.5, the image is an almost solid wash of grey... I can just barely make out the video stream - the stream is established.  It's almost as if the contrast/brightness settings of the sent stream were completely independent of what I see in my preview and configuration windows.

Gyachi works fine in the same setup - The video shows as it should when received by the native Yahoo client.  Testing with Kopete CVS under Mandriva One shows the same grey-problem mentioned above.

Since the image shows fine in my preview/config windows, and sending from the same cam in Kopete to MSN Messenger running on the w2k box works fine. I think this must be a Kopete bug specific to the Yahoo plugin.

Toggling the color correction, brightness, saturation, auto-brightness, broken driver, mem map, etc, etc. settings has no effect.  That is, they affect my local preview, but the image received on the other side still the same mostly-grey blob.

My cam is a Logitech Quickcam Express II, using the spca561 input.  As I mentioned above, it works fine when sending to MSN - so I do not believe this to be any kind of issue with acquiring the image from the camera.
Comment 1 Andre Duffeck 2006-05-17 08:59:29 UTC
There are several discussions on the web describing this problem even on webcam connections with the official Yahoo Messenger on both ends (e.g. http://www.wackyb.com/zzub/lofiversion/index.php/t8225.html ). So i assume that's a Yahoo Messenger problem and not a kopete one.
If anybody knows better, please let me know.
Comment 2 Jesse Litton 2006-05-17 13:53:15 UTC
I'm willing to entertain the possibility that it's a client side bug in Yahoo's own messenger.  But, if so, why does sending from Gyache always work?

I'll do some testing between two copies of kopete running on separate systems and report back with the results.
Comment 3 Andre Duffeck 2006-05-17 18:17:35 UTC
You're right. I had a look at the sourcecode of Gyach and after adopting their jasper options it works now on my test setup. Commit will follow soon.
Comment 4 Andre Duffeck 2006-05-17 18:21:43 UTC
SVN commit 541921 by duffeck:

Fix strange grey images shown by the official Yahoo Messenger.
BUG: 127223


 M  +2 -1      yahoowebcam.cpp  


--- branches/kopete/0.12/kopete/protocols/yahoo/yahoowebcam.cpp #541920:541921
@@ -99,8 +99,9 @@
 	
 	KProcess p;
 	p << "jasper";
-	p << "--input" << origImg->name() << "--output" << convertedImg->name() << "--output-format" << "jpc" << "-O" << "rate=0.02" ;
+	p << "--input" << origImg->name() << "--output" << convertedImg->name() << "--output-format" << "jpc" << "-O" <<"cblkwidth=64\ncblkheight=64\nnumrlvls=4\nrate=0.0165\nprcheight=128\nprcwidth=2048\nmode=real";
 	
+	
 	p.start( KProcess::Block );
 	if( p.exitStatus() != 0 )
 	{
Comment 5 Jesse Litton 2006-05-18 02:18:10 UTC
That's great news!  Thanks for your effort and quick response, Andre!
Comment 6 Jesse Litton 2006-05-18 06:26:00 UTC
The fix worked... sort of.  It got rid of the grey, but revealed another (possibly related?) problem:

I went into the configure menu, adjust my cam settings, closed the config dialog, re-open it, and verified that the setting were still there and everything looked good.  No problem so far...

However, when I next try to open a yahoo conversation, both the preview window and the receiving window show super high brightness/contrast - as if the yahoo plugin is not initializing them with the values from the configuration dialog.  Even more - I tried turning auto-brightness/contrast on before-hand and it seems to have no effect on the preview or stream.

I can go to the configuration dialog and adjust the values while I have a stream going.  If I do, the preview and reception window will then show the correct vid.  But, the next time I start a test session (without the configuration dialog up), the exact same thing happens (window starts out ultra-bright/contrast).

This wouldn't be so much of a problem, but there seems to be a second bug:  If you start a stream, then adjust the video with the configuration dialog (fixing the stream), then *close* the *configuration* dialog, the sending stream (and preview window) continues streaming only the last frame captured before you hit the close button.

Re-opening the configuration dialog seems to get the stream going again, but kopete seems to run dog-slow if you keep both a cam stream and the configuration dialog open at the same time.  Closing the configuration dialog, again seems to stop it from capturing frames.

It seems as if the configuration dialog is sending a command to V4L to quit capturing frames when you close it - regardless of the capture state when you opened the configuration dialog.  If that's the case, it shouldn't be too hard to save the initial state and restore it at close, yes?

Thanks again for your time,
-J
Comment 7 Chani 2006-05-18 06:54:41 UTC
since those are different bugs, I believe you're supposed to file
separate bug reports for them :) please do so & re-close this one.
Comment 8 Jesse Litton 2006-05-18 13:54:06 UTC
Consider it done.