Under the Hood
- Notes
- Codecs
- Video
- Audio
- Where Are Codecs Stored?
- USB
- PCMCIA
- Video Capture
- Easter Egg
Notes
The vast majority of work that's gone into BeOS R4.5 isn't visible to the
end user but is "behind the scenes" -- in the guts of the OS itself. That
doesn't mean these changes won't make a difference to you, though. You get
a lighter memory footprint (i.e., BeOS is happier with less memory than it
was before), more stability, faster boot times, more hardware support, and
much more (again, see What's
New in BeOS for details).
Codecs
Now that the Media Kit is finished (well, there's always room for
improvement), Be has been able to turn its attention to supporting more
common media file formats. In BeOS R4.5, you'll find support for the
following audio and video file formats:
- MPEG
- QuickTime
- AVI
- WAV
- AIFF
- AU
Don't confuse file formats with codecs. Compression/decompression
algorithms are usually, but not necessarily, tied to file formats. R4.5
includes the following codecs:
Video:
- MPEG-1
- Indeo 5
- Cinepak
- PJPEG
- MSVideo (CRAM)
- MS-RLE
- Apple Video (RPZA)
Audio
Notably missing from this list are codecs for the popular MP3 audio
compression format and the Sorenson video codec (which you'll quickly
discover if you try to play the popular Star Wars trailer
downloadable from Apple.com). Both codecs are missing due to licensing
issues with the codecs' creators. It's possible that Be could license the
MP3 codec and include it in the operating system, but getting permission
from Apple to use the Sorenson codec is, frankly, unlikely. The same issue
plagues Linux users, and Windows users can view Sorenson video only through
the QuickTime player, not through Windows Media Player. Only time will tell
whether a solution will emerge to this dilemma. As noted above, Be may
offer other codecs for download from its Web site prior to the next OS
release. Use the "File | Download new media add-ons" in MediaPlayer to
check for updates.
Where Are Codecs Stored?
In case you're curious, you'll find your system's collection of codecs in
/boot/beos/system/add-ons/media and its subdirectories. Interestingly, this
folder is further subdivided into folders for decoders, encoders,
extractors, and writers. As a user, you don't need to think about these, or
even know they exist (that's why they live in a system-level directory).
However, it can be interesting to poke around in this hierarchy to see how
the codec system is arranged. Because BeOS is modular and object-oriented,
individual files serve specific purposes. In other words, all functionality
related to the AIFF audio format isn't stored in a single file. Instead,
you'll find an AIFF extractor and an AIFF writer. This way, applications
can call lightweight functional objects without incurring unnecessary
memory overheard.
USB
The online-only chapter of The BeOS Bible The Future
discussed (among other things) how the limited number of IRQs and memory
addresses are affecting our ability to easily expand our hardware's
capabilities, and how USB and FireWire were going to save the day. With
R4.5, BeOS introduces USB support for the first time (we'll have to wait a
bit for FireWire support). USB in R4.5 is, however, limited to keyboards,
mice, and printers.
There's really nothing more to say here. If you have one of these devices,
you should be able to just plug it in and get to work. If your hardware is
supported or you've obtained a driver for it from another location, it
should "just work," with the exception of some laptop motherboards (and
laptops aren't officially supported anyway). In fact, you'll probably find
that installing USB devices on BeOS is even easier than it is on Windows.
(I'm speaking from my own experience here; Windows 98 issued several bogus
error messages and a blue screen of death when I tried to install a USB
driver for my mouse, whereas with BeOS, I just plugged the mouse in and was
able to use it immediately.)
PCMCIA
Because PCMCIA (a.k.a. "PC Cards") are mostly tied to laptop usage and
laptops aren't fully supported in R4.5, working with PCMCIA devices may
take a little fiddling. However, most people will be able to get most
PCMCIA modems and network cards working. In fact, a handful of network
cards and modems will work immediately with no further tweaking required.
Try working with your network card or modem normally before attempting
anything in this section. If it doesn't work, you can try a few of these
tricks.
Take a look in /boot/beos/etc/pcmcia and you'll find three files:
config
net
serial
config is a text-based configuration file defining classes and
models of PCMCIA network cards and modems; you can edit it if you want to
see if BeOS will pick up your device. net and serial are
scripts that BeOS automatically runs at boot time. You really shouldn't
mess with these in any material way. Remember that since all of these files
live under the /boot/beos hierarchy, they're technically
off-limits to users, though you can't do any irreparable harm by editing
them (you can always restore them from CD if you mess something up).
Note: Don't go into the Devices preferences panel and try to set up
your PCMCIA card. It isn't necessary and won't help.
If your card doesn't work "out of the box," open a Terminal and type:
cardctl
This command is used for probing PCMCIA sockets and takes a number of
options, which you'll see reported in the output. The option of interest to
us here is "ident," for identify. Type
cardctl ident
and BeOS will spit back a list of data for each of your card sockets. If a
card is found in either socket, the data reported back to the operating
system by that card will be printed to the screen. The information on the
"product info" line is what you're looking for. Open
/boot/beos/etc/pcmcia/config and create a new block based on the
existing sample blocks. For example, if you're working with a network card,
you might duplicate the block
card "Lynksys EtherCard"
version "Linksys", "Combo PCMCIA EthernetCard (EC2T)", "2.0"
bind "ne2000_cs"
and edit it to correspond with the information reported by the
cardctl command. The first line of the block can be anything you
like; this is just a descriptive string. The information on the "version"
line should be matched as closely as possible to the info reported by
cardctl. You may want to delete any entries in this file that are
clearly not related to your installed hardware (make a backup copy of the
file first if you decide to do this).
Restart your machine and see if the card is usable. If this doesn't work,
you may want to try trimming sections from the end of the version
identifier line. For instance, the line above might become:
version "Linksys", "Combo PCMCIA EthernetCard (EC2T)"
Keep trimming until the card is recognized. If not, you're probably out of
luck with that particular card. All of this should get much easier (read:
unnecessary) in the next release of BeOS.
Note: Some users of PCMCIA network cards may experience misleading
alert dialogs from BeOS as they boot their machines, saying that the card
is now online. You may need to restart the networking services immediately
after booting to make the card work, even if the card has already reported
itself as working.
Tip: If you get tired of seeing the alert dialogs all the time, make
a backup copy of /boot/beos/etc/pcmcia/net and/or
/boot/beos/etc/pcmcia/serial. Edit the file in question and place
a # symbol in front of each line containing "alert."
Video Capture
Now that polished, sophisticated video-editing applications are beginning
to emerge for BeOS (see my coverage of Adamation's personalStudio at extra.benews.com), video-capture
capabilities are a necessity. R4.5 includes the first official (i.e., not
third-party) video-capture capabilities -- thanks to support for the
Brooktree bt848, bt878, and bt879 video chip sets common in a great number
of consumer-level video-capture boards, such as those from Intel,
Hauppauge, miro, Avermedia, IXMicro, US Robotics, and others. You may also
want to take a look at the BeOS Video Capture HW
compatibility list at Sakoman.com.
For those looking toward higher-end solutions, a third-party developer is
currently working on support for the miro DC30 chip set. No release date
has been set, but keep your eye on the BeOS news sites and the beusertalk
mailing list for details.
Easter Egg
The key combination described in The BeOS Bible for accessing the
secret "hacked" about box has changed in R4.5, but this time, I'm not going
to be so cavalier about telling you how to find it. Here's a hint though:
Think media. I know where it is, but I'm not telling...
The secret scrolling credits.
The "hacked" super-secret scrolling credits.
If you're feeling really adventurous, you can find the same data by opening
the Tracker (/boot/beos/system/Tracker) in DiskProbe at block
0x776. Look just past that address and you'll find some very
interesting information about supported processors as well. :)
|