|
Abstract
Streaming media applications provide an interesting
mix of requirements that include not necessarily hard
real time support, but rather, guarantees for the resources
used by such applications. This paper describes our
experience in enabling a Personal Video Recorder (PVR)
application (performing record and playback of live
and pre-recorded streams) on a Linux based embedded
platform. We found that while the standard Linux kernel
may not be applicable
for hard real time applications it is quiet well suited
as a platform for implementing media streaming applications.
While we observed that the operations like playback
of video streams is perfect, the functions such as simultaneous
record and playback of multiple video streams, time-shift
operations etc., do require specialized support that
is not directly provided by the Linux kernel. In this
paper we describe areas that we identified, in the Linux
kernel and the application, and approaches to tackle
the same to improve performance of the application,
with regard to the above operations. Primarily these
include, (1) application buffering model and I/O mechanism
(using direct I/O vs. buffered I/O) (2) the file system
used for media streaming (3) soft real time enhancements
to the kernel (4) reducing time taken for I/Os to the
hard disk (5) using fast data transfer modes for disk
devices.
Author
Thiruvengada Govindan
To know more about Wipro in computing platforms, go
to www.wipro.com/prodesign/focusareas/complatforms/
|