iChat dropping sound, chopping video, or crashing?
Despite having fast internet connections and the latest OS and hardware, iChat may chop and potentially crash.
As with much of Apple's software, iChat is easy to use despite running a variety of complex technologies (video, audio, themes, screen sharing, etc.). On occasion, these may not run as smoothly as one would expect. With a high-speed internet connection for instance, you should be able to run smooth video, and yet some people are experiencing choppiness or dropped audio during video conferencing. Additionally, the program may crash when running video in 64-bit mode.
Not all bandwidths are created equal
While you may have a high-speed internet connection, the actual bandwidth will vary depending on a number of factors, including other network services both you and the person you're chatting with are running (downloads, tickers and widgets, synchronizations, etc.), as well as TCP overhead and internet routing. These factors can severely impact a connection's bandwidth, and when they do there's the possibility that other services such as iChat video conferencing will be affected.
If you are having choppiness and dropped conferencing connections, have all parties involved run a few bandwidth tests using a number of speed testing websites such as dslreports. When running these tests, keep the conditions the same as you would when running your video conferencing sessions, which will give you a more accurate reading of your available bandwidth during these sessions. Then set iChat's bandwidth limit (under the Audio/Video preferences) to a value below the observed limits. Since bandwidth issues may be with anyone involved, as an extra precaution you might set the limit to the lowest setting determined for all parties involved.
The factors that impact your bandwidth may not necessarily be on your computer. Check other computers on your network to see if anyone is downloading or running programs that use networking. To troubleshoot, turn off all items connected to the network except foryour system and test the connection again. Additionally, for wireless networks try changing the channel to combat interference, especially in locations where there are many available wireless networks.
Close other programs and system features
Snow Leopard should better manage system resources for programs than previous versions of OS X, especially as applications are built with Grand Central Dispatch and OpenCL (assuming Apple will be among the first to implement these features in their programs. Despite this, there may be programs that could interfere with iChat either by using network bandwidth or utilizing hardware resources such as the CPU and video card.
One feature of OS X that is notorious for causing other programs to stutter is Spotlight indexing. While this is supposed to run without interference in the background, if you have multiple drives and constantly change files on them, the system may ramp up indexing. On my desktop system, I have three logical volumes mounted, and at times the indexing will churn away and cause the interface to pause, and programs to stutter here and there. It's barely noticeable, but if I force the indexing to quit with Activity Monitor, everything becomes smooth again. This has definitely interfered with iChat on occasion.
32 bits for iChat compatibility
Apple's push to 64-bit mode for all programs is a good effort, but it has not come problem-free. I use iChat video conferencing all the time and with Snow Leopard on my laptop iChat will crash every few minutes when video conferencing. The crash report indicates the following thread crashed, indicating the problem is with video decoding and not with some core system technology such as Grand Central Dispatch.
Thread 14 Crashed: 0 com.apple.VideoToolbox 0x00007fff8648bf91 MC_Copy8x8UV4 + 906 1 com.apple.VideoToolbox 0x00007fff8648e19f DumpDecoded263MB3S16 + 3041 2 com.apple.VideoToolbox 0x00007fff86487437 H263DMPR_GOB + 6714 3 com.apple.VideoToolbox 0x00007fff86487da5 H263DMPR_Decompress + 2237 4 com.apple.VideoToolbox 0x00007fff86075407 VCH263VideoDecoder_DecodeFrame + 1064 5 com.apple.VideoToolbox 0x00007fff86008a43 vtDecompressionDuctDecodeSingleFrame + 542 6 com.apple.VideoToolbox 0x00007fff86009b27 VTDecompressionSessionDecodeFrame + 184 7 com.apple.viceroy.framework 0x00007fff8184958c VideoPlayer_ShowFrame + 1388 8 com.apple.viceroy.framework 0x00007fff8182d3ea Conference_ShowFrame + 394 9 com.apple.viceroy.framework 0x00007fff818335f5 Conference_VideoAlarm + 725 10 com.apple.viceroy.framework 0x00007fff818447db SoundPlayer_AlarmThread + 411 11 libSystem.B.dylib 0x00007fff808aef66 _pthread_start + 331 12 libSystem.B.dylib 0x00007fff808aee19 thread_start + 13
Suffering this problem for a while I decided to switch the application running mode to 32-bit by getting info on it in the Finder and checking the "Open in 32-bit mode" box. This immediately fixed the problem and iChat no longer crashes during video conferences.
If you are experiencing crashes or dysfunctional behavior in iChat when running multimedia features, give 32-bit mode a try. While 64-bit mode should work and more than likely does in many cases, there may be some problems with its implementation. At this point, there's really no benefit to running iChat in 64-bit mode vs 32-bit mode. Perhaps some minor efficiency differences can be noted, but the program does not use an exorbitant amount of RAM, or complex encoding that absolutely requires 64-bit calculations so you will not lose any quality by switching running modes.