|
|
Subscribe / Log in / New account

Development

LPC: What's happening with webcams

September 25, 2008

This article was contributed by Don Marti

Christmas is coming early for webcam users. Support for hundreds of popular webcams, available from Michel Xhaard's GSPCA project, is merged for inclusion in the upcoming 2.6.27 kernel. The amount of tweaking required from the user, the distribution, or both, has been cut, and it's likely that a random webcam will now just work out of the box.

Even with the much-wanted drivers becoming part of mainstream Linux, a small matter of plumbing remains. Webcams, Hans de Goede pointed out at the Linux Plumbers Conference, produce a variety of compressed video data. "They all came up with interesting proprietary compressed video formats", he says. The out-of-tree version of GSPCA did some decoding in kernel space, but the decoding of many camera-specific custom video formats had to be ripped out, as doing that kind of work in-kernel is a Linux faux pas. That's where Hans's libv4l comes in. Announced in June, the new library (actually a set of three) does the format conversion.

While not a Red Hat employee at the time (he is now) Hans posted a "BetterWebcamSupport" feature idea on the Fedora wiki, writing, "Currently many webcams do not work with Fedora out of the box even though a Linux driver exists for them". The problem was partly fixed with the GSPCA cleanup and inclusion upstream, and partly became the rationale for libv4l. Besides the core libv4lconvert library, the package includes libv4l2, to emulate a /dev/videoX device which, transparently to the application, will deliver "sane" video formats. There's also a libv4l1 to do the same thing but for the V4L1 API.

An audience member asked why the library is separate from gstreamer, which is already set up for video transcoding. V4L2 developer Hans Verkuil responded from the audience that "it's something that you do not want to have in the kernel, but it has to be small and fast". That leaves out gstreamer as a general solution, since some webcam applications don't need gstreamer or can't afford the space it takes. Therefore, a separate library. It needs one more feature, too: vendors install camera chips however they'll fit, which means the same camera module could be right side up on one product and upside down on another. Therefore, libv4l has software support for flipping images, but it still needs the data to know when to flip: a table identifying which hardware has the camera module in which orientation.

Brandon Philips at SUSE has another piece of the puzzle, a "frame server" that lets multiple applications share the webcam—doing for the webcam what PulseAudio does for the sound hardware. You can't shoot a photo with Cheese while another app has the webcam open, as he showed in a screenshot.

You can always rely on the computer hardware industry to figure out ways to save a little money on something if it's possible to solve the problem in software. Many new webcams have motorized focus but no hardware autofocus. Autofocus is up to the host system—which means a focusing daemon needs to see the video at the same time as an end-user application. So providing access for the autofocus daemon is another reason for the frame server. Someone on the mailing list has the autofocus math that will form the guts of the daemon figured out, but it's a fairly intensive calculation and will need to be done on an occasional frame of video, not each frame.

While the original frame server idea would have one shared memory segment per system, with access for multiple users, PulseAudio developer Lennart Poettering pointed out the potential security risks of that idea from the audience. "Memory mapping across privileges is a really bad idea", he said. He suggested putting the frame server in the user session to prevent users from, at least, killing each other's webcam applications.

The webcam market is one where Linux is an afterthought if it's a thought at all. The Linux conferences aren't teeming with employees of webcam manufacturers. The support Linux does have shows that the community can still support hardware on its own when it has to.

Comments (19 posted)

LAME ain't lame no more

By Forrest Cook
September 30, 2008

LAME (Lame Ain't an MP3 Encoder) is a long running open-source MP3 encoder project. From the About LAME document: "...LAME is the source code for a fully LGPL'd MP3 encoder, with speed and quality to rival and often surpass all commercial competitors. LAME is an educational tool to be used for learning about MP3 encoding. The goal of the LAME project is to use the open source model to improve the psycho acoustics, noise shaping and speed of MP3. LAME is not for everyone - it is distributed as source code only and requires the ability to use a C compiler. However, many popular ripping and encoding programs include the LAME encoding engine..."

The LAME project has announced the first release in several years: "After rough[ly] two years of development, the LAME project has released a new version (3.98.2) of the best-known Open Source MP3 encoder. All users are encouraged to use it, see new improvements regarding the previous releases and send feedback for the project."

LAME has a long and interesting development history. From the LAME home page: "LAME development started around mid-1998. Mike Cheng started it as a patch against the 8hz-MP3 encoder sources. After some quality concerns raised by others, he decided to start from scratch based on the dist10 sources. His goal was only to speed up the dist10 sources, and leave its quality untouched. That branch (a patch against the reference sources) became Lame 2.0, and only on Lame 3.81 did we replaced of all dist10 code, making LAME no more only a patch. The project quickly became a team project. Mike Cheng eventually left leadership and started working on tooLame, an MP2 encoder. Mark Taylor became leader and started pursuing increased quality in addition to better speed. He can be considered the initiator of the LAME project in its current form. He released version 3.0 featuring gpsycho, a new psychoacoustic model he developed. In early 2003 Mark left project leadership, and since then the project has been lead through the cooperation of the active developers (currently 4 individuals)." Numerous additional developers have contributed to the project.

[LAME logo]

The slightly out of date project version history documents the changes to the code since September 1998. Improvements added to version 3.98 (started in May, 2007) include:

  • Numerous bug fixes were implemented.
  • A lot of code cleanup was done.
  • Support was added for newer versions of various libraries.
  • Many build system improvements were done.
  • The RPM specification was updated.
  • Numerous changes were made to the lame front end switches.
  • New VBR code, derived from the NSPSY psymodel, was added.
  • There were changes to the new VBR psymodel.
  • The out of bits strategy for the newer VBR code was overhauled.
  • PCM WAVE_FORMAT_EXTENSIBLE support was added.
  • Support for ID3v2 total track count was added.
  • ID3v2 TLEN support was added.
  • The ATH adjustment was improved for low volume cases.
  • A new SSE version of the FFT code was used.
  • A flush option was added for flushing the output stream in lame.exe.
  • The FFTSSE and FFT3DNOW assembler code was back ported from the Lame4 branch.

Building the newest version of LAME on an Ubuntu 8.04.1 LTS (Hardy Heron) i386 system was straightforward. An older Ubuntu package of LAME was first removed from the system using the Synaptic package manager. The LAME version 3.98.2 source code was downloaded, unzipped and untared. The configure script was run, no missing dependencies were found. The usual make and make install steps were done. A few test case .wav files were encoded with the command lame file.wav file.mp3 and the files were played with the SoX play command as well as the closed-source RealPlayer application. Everything worked as expected, and sounded as good as one can expect for an MP3 file.

Overall, the latest changes to LAME fall into the category of maintenance or the addition of mostly user-transparent features. It is good news that this important piece of software is going into another phase of active development.

Comments (1 posted)

System Applications

Database Software

PostgreSQL 8.3.4 released

Version 8.3.4 of PostgreSQL has been announced. "This release contains a variety of fixes from 8.3.3." See the release notes for more information.

Comments (none posted)

PostgreSQL Weekly News

The September 28, 2008 edition of the PostgreSQL Weekly News is online with the latest PostgreSQL DBMS articles and resources.

Full Story (comments: none)

SchemaSpy: 4.0.0 released (SourceForge)

Version 4.0.0 of SchemaSpy has been announced, several new capabilities have been added. "SchemaSpy analyzes schema metadata, letting you click through the hierarchy of your tables' parent/child relationships either via entity-relationship diagrams or through HTML tables. It works with just about any RDBMS given an appropriate JDBC driver. SchemaSpy also identifies several common schema anomalies."

Comments (none posted)

Embedded Systems

BusyBox 1.12.1 (stable), BusyBox 1.11.3 (stable) released

Versions 1.12.1 (stable) and 1.11.3 of BusyBox, a collection of command line utilities for embedded systems, has been announced: "Bugfix-only releases for 1.11.x and 1.12.x branches."

Comments (none posted)

Interoperability

Samba 3.2.4 is available

Version 3.2.4 of Samba has been announced. "This is the latest bug fix release for Samba 3.2 and is the version recommended for all production Samba servers running this release series."

Comments (none posted)

Mail Software

SquirrelMail 1.4.16 released

Version 1.4.16 of SquirrelMail, a standards-based webmail package written in PHP, has been announced. "The SquirrelMail team is happy to announce the release 1.4.16. The most notable change is that cookies are now sent with the secure attribute set for HTTPS-connections, meaning that they cannot leak to an HTTP-connection on the same SquirrelMail installation."

Full Story (comments: none)

Networking Tools

OpenNMS: 1.5.94 Released (SourceForge)

Version 1.5.94 of OpenNMS has been announced. "A Java/XML-based Distributed Network & Systems Management platform The fifth release candidate for the next stable release of OpenNMS, 1.5.94, is now available. This release fixes over 120 bugs and adds a number of new features. It is pretty close to what 1.6.0 will be, and expect a 1.5.95 release candidate in mid October with a stable release by Halloween."

Comments (none posted)

Vuurmuur 0.6 released

Version 0.6 of Vuurmuur, a firewall application, has been announced. "Finally, after more than a year, a new stable release! This release primarily adds support for traffic shaping to Vuurmuur."

Full Story (comments: none)

Zenoss Core: 2.2.4 is Now Available (SourceForge)

Version 2.2.4 of Zenoss Core has been announced. "Zenoss Core is an enterprise network and systems management application written in Python/Zope. Zenoss provides an integrated product for monitoring availability, performance, events and configuration across layers and across platforms. The latest stable packaged version of Zenoss Core, version 2.2.4, is now available for download. A wide variety of defects were addressed and installing and upgrading from earlier versions is documented here". [pdf]

Comments (none posted)

Virtualization Software

oVirt 0.93-1 released

Version 0.93-1 of oVirt has been announced. "New features in this release include: * Addition of 'Smart Pools' in the Web user interface for organizing pools on a per user basis. * Additions to the Edit VM screen to allow re-provisioning of a guest as well editing other guest settings. * oVirt Appliance manages VMs directly on the host it is running on. This eliminates the 'fake nodes' used in previous versions. * oVirt API (Ruby Bindings) * Support for configuring more than one NIC per Node. UI support for this will be integrated shortly. * Support for bonding/failover of NICs. UI support for this will be integrated shortly. * SELinux support on oVirt Node * Rewrite of performance graphing visualization".

Full Story (comments: none)

Web Site Development

CommSy: 6.2.0 released (SourceForge)

Version 6.2.0 of CommSy has been announced. "CommSy is a webbased community system, originally developed at the University of Hamburg, Germany, to support learning/working communities. For a more indepth description see the project home page. For questions or comments contact finck(at)commsy.org The CommSy-Team is proud to announce the feature release of CommSy 6.2.0. Some minor bugs were fixed."

Comments (none posted)

lighttpd 1.4.20 announced

Version 1.4.20 of lighttpd, a light weight web server, has been announced. "After two prereleases and a lot of bugfixing, we are proud to announce a new release of the 1.4 branch: 1.4.20 is finally out. We would like to thank everybody who tested the prereleases and/or reported bugs in our ticket system. Please pay special attention to the security announcements".

Comments (none posted)

Midgard 8.09.0RC released

Version 8.09.0RC of the Midgard web development platform has been announced. "Midgard 8.09.0RC "Ragnaroek LTS" release is the third release of Midgard following the new time-based release process. Because of this, versioning numbering of both Midgard and MidCOM have been synchronized to follow a date-based pattern. Using old version numbering the software included in this release would have been Midgard 1.9 and MidCOM 2.9. The new release process has been created to align Midgard with the release synchronicity model followed by free software projects like GNOME and Ubuntu."

Full Story (comments: none)

notmm is not a monolithic mashup 0.2.10 released

Version 0.2.10 of notmm has been announced. "notmm is a open, non-monolithic, and Python written web toolkit, mostly influenced by Django and Pylons development. Imho, its simple design makes it a clever and remarquable choice from a security perspective, and in particular for building extendable mashups/web APIs."

Full Story (comments: none)

Desktop Applications

Audio Applications

A Guide Through The Linux Sound API Jungle

Lennart Poettering has put together a guide to Linux sound APIs, with emphasis on helping developers choose the right one. "At the Audio MC at the Linux Plumbers Conference one thing became very clear: it is very difficult for programmers to figure out which audio API to use for which purpose and which API not to use when doing audio programming on Linux. So here's my try to guide you through this jungle."

Comments (28 posted)

Data Visualization

python-graph 1.3.0 released

Version 1.3.0 of python-graph has been announced. "python-graph is a library for working with graphs in Python. This software provides a suitable data structure for representing graphs and a whole set of important algorithms."

Full Story (comments: none)

Desktop Environments

GNOME Software Announcements

The following new GNOME software has been announced this week: You can find more new GNOME software releases at gnomefiles.org.

Comments (none posted)

KDE Commit-Digest (KDE.News)

The September 21, 2008 edition of the KDE Commit-Digest has been announced. The content summary says: "Various work across Plasma, including improved applet handles with monochrome icons, work on the Weather Plasmoid and the start of an extender-based notification applet. Continued development in PowerDevil, including support for suspend. Long-standing "slow deletion of many files" bug is finally fixed. A System Settings module for choosing the default file manager. Basic implementation of red eye reduction in Gwenview..."

Comments (none posted)

KDE Software Announcements

The following new KDE software has been announced this week: You can find more new KDE software releases at kde-apps.org.

Comments (none posted)

Xorg Software Announcements

The following new Xorg software has been announced this week: More information can be found on the X.Org Foundation wiki.

Comments (none posted)

Desktop Publishing

LyX 1.6.0 release candidate 3 is released

Version 1.6.0 release candidate 3 of LyX, a GUI front end to the TeX typesetter, has been announced. "We are pleased to announce the third release candidate of LyX 1.6.0. LyX 1.6.0 will be the culmination of 14 months of hard work since the release of the LyX 1.5 series. We sincerely hope you will enjoy the result. As usual with a major release, a lot of work that is not directly visible has taken place. The core of LyX has seen more cleanups and some of the new features are the direct results of this work."

Full Story (comments: none)

StorYBook: Version 2.1.4 released (SourceForge)

Version 2.1.4 of StorYBook has been announced. "Are you novelist, writer or author? StorYBook is a scene-based software for all creative writers that helps to organize your story. StorYBook assists you in structuring your book."

Comments (none posted)

Electronics

gEDA/gaf 1.4.1-20080929 released

Stable version 1.4.1-20080929 of gEDA/gaf, a collection of electronic CAD utilities, has been announced. "I have released a roll up of bug fixes: gEDA/gaf 1.4.1-20080929 today. Many thanks to all the people who fixed bugs for this stable release and to Peter Brett for doing all the heavy lifting for this release (getting all the relavent bug fixes on the stable-1.4 branch). NOTE: this will be the last release that explicitly works with gtk+ 2.4.x and guile 1.6.x (unless I need to do another 1.4.x release)."

Comments (none posted)

Magic VLSI 7.5 released

Version 7.5 of Magic, a VLSI layout tool, has been announced. "Magic is a venerable VLSI layout tool, written in the 1980's at Berkeley by John Ousterhout, now famous primarily for writing the scripting interpreter language Tcl. Due largely in part to its liberal Berkeley open-source license, magic has remained popular with universities and small companies. The open-source license has allowed VLSI engineers with a bent toward programming to implement clever ideas and help magic stay abreast of fabrication technology."

Comments (none posted)

Financial Applications

GnuCash 2.2.7 released

Stable release 2.2.7 of GnuCash is out with a pile of bug fixes and some translation improvements.

Full Story (comments: none)

Graphics

cairo release 1.8.0 now available

Version 1.8.0 of cairo has been announced. "The cairo community is happy (and relieved) to announce the 1.8.0 release of the cairo graphics library. This is a major update to cairo, with new features and enhanced functionality which maintains compatibility for applications written using any previous major cairo release, (1.6, 1.4, 1.2, or 1.0). We recommend that anybody using a previous version of cairo upgrade to cairo 1.8.0. The dominant theme of this release is improvements to cairo's ability to handle text."

Full Story (comments: none)

GUI Packages

wxPython 2.8.9.1 released

Version 2.8.9.0 of wxPython is out with a bug fix. "wxPython is a GUI toolkit for the Python programming language. It allows Python programmers to create programs with a robust, highly functional graphical user interface, simply and easily. It is implemented as a Python extension module that wraps the GUI components of the popular wxWidgets cross platform library, which is written in C++."

Full Story (comments: none)

Imaging Applications

GIMP 2.6 released

Version 2.6 of the GIMP is out. "GIMP 2.6 is an important release from a development point of view. It features changes to the user interface addressing some often received complaints, and a tentative integration of GEGL, the graph based image processing library that will eventually bring high bit-depth and non-destructive editing to GIMP." See the release notes for details.

Comments (3 posted)

Mail Clients

Sylpheed 2.6.0beta1 (development) released

Development version 2.6.0beta1 of Sylpheed, a mail client, has been announced. Changes include: "* The remote POP3 mailbox feature which can view/download/delete messages on POP3 servers directly was added. * Enchant (with GtkSpell 2.0.13) was supported. * When creating filter rule automatically, the target header field is used as a default filter name now. * The progress column was added to the progress dialog. * The parser of IMAP4 was fixed. * Unix: SIGHUP/SIGINT/SIGTERM/SIGQUIT signals are handled now. * Win32: system shutdown event is also handled on debug mode now."

Comments (none posted)

Medical Applications

GDCM: 2.0.9 is out (SourceForge)

Version 2.0.9 of GDCM has been announced. "Grassroots DiCoM is a C++ library for DICOM medical files. It is automatically wrapped to python (using swig). It supports RAW,JPEG (lossy/lossless),J2K,JPEG-LS,RLE and deflated. It also comes with DICOM Part 3,6 & 7 of the standard as XML files."

Comments (none posted)

Multimedia

Elisa Media Center 0.5.12 released

Version 0.5.12 of Elisa Media Center has been announced. "This release fixes a handful of bugs and enhances the current user experience with the following new features: - the Flickr plugin has been improved in very important ways adding notably allowing the user to login and access his, her personal content, contact list and friends' photos - an animated buffering bar was introduced in the player user interface giving better feedback and a slicked look and feel - a more appropriate, nicer looking volume bar is now part of the player user interface - plugins can now be branded in the user interface to provide the user with a more immersive experience; only the Flickr plugin has been updated so far".

Full Story (comments: none)

Music Applications

Virtual MIDI Piano Keyboard 0.2.0

Version 0.2.0 of Virtual MIDI Piano Keyboard has been announced. "This release includes, among other features, enhanced mouse handling requested by Hermann Meyer, and a fix for the bug reported by Salvatore Di Pietro regarding MIDI channel numbering."

Full Story (comments: none)

Office Applications

TakeNote 0.4.2 announced

Version 0.4.2 of TakeNote has been announced. "In this release: * faster loading * bullet point lists * more customization * bug fixes TakeNote is a simple cross-platform note taking program implemented in Python. I have been using it for my research and class notes, but it should be applicable to many note taking situations."

Full Story (comments: none)

Release 0.70.4 of Task Coach

Version 0.70.4 of Task Coach, a hierarchical task manager, has been announced. "This release fixes some bugs."

Full Story (comments: none)

Office Suites

KOffice 2.0 beta 1 released

The first KOffice 2.0 beta has been released. "KOffice 2 will be a much more flexible application suite than KOffice 1 ever was. The integration between the components is much stronger, with the revolutionary Flake Shapes as the central concept."

Comments (4 posted)

OpenCards: 1.0 released (SourceForge)

Version 1.0 of OpenCards has been announced. "It is with extraordinary great pleasure for me to release OpenCards 1.0, which is a free flashcard learning extension for OpenOffice Impress. OpenCards comes along with all you need to memorize all the things you ever wanted to know but never kept in mind. It follows an intuitive and natural approach: Just create flashcards as you're used to create Impress-slides. With OpenCards you can use any Impress/Powerpoint-file as flashcard-set without any conversion."

Comments (none posted)

PDA Software

Opie 1.2.4 released

Version 1.2.4 of the Open Palmtop Integrated Environment has been announced. "The Opie Project is pleased to announce the immediate availability of version 1.2.4 of the Open Palmtop Integrated Environment, a comprehensive user environment and application suite for portable devices running Linux. Version 1.2.4 builds upon the last stable version (1.2.3, released July 2007), and provides a rich graphical user environment and comprehensive selection of applications. Applications include personal information management (PIM), media players for many different audio and video formats, viewers for images and electronic documents, games and many utilities for file transfer, connectivity with other computers, etc. As with previous versions, Opie continues to provide binary compatibility with applications developed for Trolltech's Qtopia environment."

Full Story (comments: none)

Science

Stellarium: 0.10.0 has been released (SourceForge)

Version 0.10.0 of Stellarium has been announced. "Stellarium renders 3D photo-realistic skies in real time with OpenGL. It displays stars, constellations, planets, nebulas and others things like ground, landscape, atmosphere, etc. The Stellarium team is proud to announce the release of version 0.10.0 (beta). This major release is the result of 8 months of efforts totalizing almost 1000 commits from all team members. The most important changes are the new redesigned GUI, an important performance and memory usage improvement, a faster start-up, as well as new features such as dynamic eye adaptation to bright objects, improved rendering, light pollution simulation or improved location selector. The source code was also massively cleaned and refactored."

Comments (none posted)

Web Browsers

Firefox 3.0.3 now available for download

Version 3.0.3 of Firefox has been announced. "In order to repair a problem experienced by some users with the Password Manager feature in Firefox 3.0.2, and as part of Mozilla Corporation's ongoing stability and security update process, Firefox 3.0.3 is now available for Windows, Mac, and Linux as free downloads at http://getfirefox.com/. We strongly recommend that all Firefox users upgrade to this latest release."

Full Story (comments: none)

Mozilla Firefox 3.0.3 fixes Password Manager regression (MozillaZine)

MozillaZine explains the security fix in Mozilla Firefox 3.0.3. "This upgrade has been rushed out to fix a regression introduced in Firefox 3.0.2, which caused issues with retrieving saved passwords and saving new passwords (bug 454708)."

Comments (none posted)

Languages and Tools

Caml

Caml Weekly News

The September 30, 2008 edition of the Caml Weekly News is out with new articles about the Caml language.

Full Story (comments: none)

Python

NumPy 1.2.0 released

Version 1.2.0 of NumPy, a Python scientific computing package, has been announced. "This minor release comes almost four months after the 1.1.0 release. The major features of this release are a new testing framework and huge amount of documentation work. It also includes a some minor API breakage scheduled in the 1.1 release."

Full Story (comments: none)

Shed Skin (restricted) Python-to-C++ compiler 0.0.29 announced

Version 0.0.29 of Shed Skin, an experimental restricted Python-to-C++ compiler, has been announced, many new capabilities and bug fixes have been added. "This has been a significant release, with many important improvements."

Full Story (comments: none)

Python-URL! - weekly Python news and links

The September 30, 2008 edition of the Python-URL! is online with a new collection of Python article links.

Full Story (comments: none)

Tcl/Tk

Tcl-URL! - weekly Tcl news and links

The September 24, 2008 edition of the Tcl-URL! is online with new Tcl/Tk articles and resources.

Full Story (comments: none)

Version Control

TopGit v0.4 announced

Version 0.4 of TopGit has been announced. "TopGit is meant as a fresh start in the steps of StGIT, quilt-in-git and others, of course in an attempt to Get It Right this time around. TopGit is absolutely minimal porcelain layer that will manage your patch queue for you using topic branches, one patch per branch, never rewriting the history in order to enable fully distributed workflow."

Full Story (comments: none)

Page editor: Forrest Cook
Next page: Linux in the news>>


Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds