/**
 * \ingroup dev_examples
 *
 * \defgroup ffmpeg_grabber_basic Example for ffmpeg_grabber (ffmpeg_grabber_basic)

Instantiates \ref cmd_device_ffmpeg_grabber "ffmpeg_grabber" device implemented by FfmpegGrabber.
\verbatim
# read from an avi file
device ffmpeg_grabber
source my.avi
\endverbatim
If this text is saved in a file called ffmpeg_grabber_basic.ini then the device can be created by doing:
\verbatim
yarpdev --file ffmpeg_grabber_basic.ini
\endverbatim
Of course, the configuration could be passed just as command line options, or as a yarp::os::Property object in a program:
\code
Property p;
p.fromConfigFile("ffmpeg_grabber_basic.ini");
// of course you could construct the Property object on-the-fly
PolyDriver dev;
dev.open(p);
if (dev.isValid()) { /* use the device via view method */ }
\endcode
Here is a list of properties checked when starting up a device based on this configuration file.
Note that which properties are checked can depend on whether other properties are present.
In some cases properties can also vary between operating systems.
So this is just an example

<table>
<tr><td>PROPERTY</td><td>DESCRIPTION</td><td>DEFAULT</td></tr>
<tr><td>device</td><td></td><td></td></tr>
<tr><td>source</td><td>media file to read from</td><td>default.avi</td></tr>
<tr><td>loop</td><td>media should loop (default)</td><td></td></tr>
<tr><td>noloop</td><td>media should not loop</td><td></td></tr>
<tr><td>sync</td><td>sync on image or audio (if have to choose)?</td><td>image</td></tr>
<tr><td>nodelay</td><td>media will play in simulated realtime unless this is present</td><td></td></tr>
<tr><td>pace</td><td>simulated realtime multiplier factor (must be <1 right now)</td><td>1.0</td></tr>
<tr><td>v4l</td><td>if present, read from video4linux</td><td></td></tr>
<tr><td>v4l1</td><td>if present, read from video4linux</td><td></td></tr>
<tr><td>v4l2</td><td>if present, read from video4linux2</td><td></td></tr>
<tr><td>ieee1394</td><td>if present, read from firewire</td><td></td></tr>
</table>

\sa FfmpegGrabber

 */
