[libannodex-dev] Mounting annodex files
Ben Martin
monkeyiq at users.sourceforge.net
Tue Sep 13 01:20:16 EST 2005
Hi,
I finally got around to adding the ability for libferris [1] to mount
annodex files. In the process I came up with a few queries and some
changes to be had.
Firstly, a few little gotchas for anyone wanting to use libannodex from
C++, any_types.h uses the class keyword.
/usr/local/include/annodex/anx_types.h:75: error: expected unqualified-id before 'class'
/usr/local/include/annodex/anx_types.h:75: error: abstract declarator 'char*' used as declaration
/usr/local/include/annodex/anx_types.h:75: error: expected ';' before 'class'
/usr/local/include/annodex/anx_types.h:104: error: expected unqualified-id before 'class'
/usr/local/include/annodex/anx_types.h:104: error: abstract declarator 'const char*' used as declaration
/usr/local/include/annodex/anx_types.h:104: error: expected ';' before 'class'
Also, some API like anx_open() takes char* instead of const char* which
is quite annoying from C++ using string::c_str() which returns const
char* data.
The other question is about anxed. Given that the CMML gives one
conceptual chunks in the file I'd like libferris to offer to break an
annodex stream for me and offer the bits delimited by a CMML clip as
individual virtual files. I've got something like what anxed does using
the offsets from the clip info but I'm wondering if the video/audio
stream will be OK at the potentially arbitrary offsets from the clip
metadata? vlc plays just the audio for me here but my current vlc build
doesn't play the video for the vanilla file either.
If you take a look below at the mounting example you'll see what I've
got for the anxed type functionality. Basically each clip becomes a
virtual file and if you use the libferris searching code [2] to arrive
at a clip file you should be able to just pass that virtual file off to
vlc and enjoy. I'm mainly looking at this from the point of view of
other players which are not aware of annodex in particular but which can
happily handle ogg/vorbis media files. I *seems* to work OK but I'm not
right up to speed on the anx container format etc.
For those who might be interested, the test content file from
http://annodex.net/software/AnnodexFirefoxExtension/index.html#test-content
I have renamed index.anx to fish-science.anx
http://media.annodex.net/ffdemo/media/sciweb/index.anx
$ fls -ld --show-ea=name,size,title fish-science.anx
fish-science.anx 11260356 The Research Hunter
$ fls -0 fish-science.anx
astronomy 00-4-5.anx#startspeech Our astronomers track the Galileo space probing station in Tidbinbilla.
atmospheric cleaner.anx#startspeech Atmospheric researchers look into ways of keeping the air clean.
credits http://www.csiro.au/ Contact CSIRO for more information on our research.
intro http://www.csiro.au/ Welcome to CSIRO, the Commonwealth Scientific and Industrial Research Organisation of Australia.
landwater 99-5-4.anx#startspeech Land and water research helps improve our environment.
outro http://www.csiro.au/ We hope you enjoy these interviews!
$ fls --xml fish-science.anx
<ferrisls>
<ferrisls url="file:///store/Video/fish-science.anx" name="fish-science.anx" >
<context name="astronomy" title="" anchor-href="00-4-5.anx#startspeech" description-title=" " description="Our astronomers track the Galileo space probing station in Tidbinbilla." />
...
$ fcat fish-science.anx/astronomy | vlc -
[1] http://witme.sourceforge.net/libferris.web/
[2] http://www.linuxjournal.com/article/7771
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.annodex.net/pipermail/libannodex-dev/attachments/20050913/90e3a3f5/attachment.pgp
More information about the libannodex-dev
mailing list