This is the second report for the iXMF GSoC project. In this phase I have created the xmfmux component, the remaining requirement for starting diving into ixmf.
Concerning GSoC timeline, here's how we're scheduled:
| Week | Event | We're at |
|---|---|---|
| 0 (May 18th) | First component delivered | xmfdemux delivered |
| 1 (May 24th) | GSoC officially begins | Designing xmfmux |
| 2 (May 31th) | Coding xmfmux | xmfmux, unit tests |
| 3 (Jun 7th) | Coding xmfmux | muxing of complex folder structures |
| 4 (Jun 14th) | Second component delivered | xmfmux delivered, start designing ixmf playback engine and muxing requirements |
| 5 (Jun 21th) | iXMF bin design and prototype | In progress |
- Project repository: http://gitorious.org/gst/ixmf
- Contact
- Me: André Dieb Martins (andredieb on IRC-freenode) - andre.dieb@gmail.com
- Mentor: Thiago Sousa Santos (thiagoss on IRC-freenode) - thiagossantos@gmail.com
- XMF - introduction about the base format for iXMF
- iXMF - introduction about interactive XMF
- iXMF IASIG - interactive XMF working group (contains the draft spec)
- mXMF - mobile XMF
- Blog post by me about XMF/iXMF and the GSoC project
- First report: xmfmux
Now to the report itself.
As you can see from our schedule above, we spent about 2-3 weeks coding the xmfmux component. The component is currently in its most basic form (doesn't support metadata yet) but it's able to fully mux xmf files and build any node structure specified (for instance, multiple folders, subfolders). This was a functional requirement for iXMF, as it specifies multiples folders for storing its different resources descriptors. Here we show some usage:
1. Single node structure, one root node that is actually the file (most common mxmf files have this layout):
filesrc location=file1.midi ! xmfmux ! filesink location=output.xmf
2. Two nodes owned by a root folder node:
filesrc location=file1.midi ! xmfmux name=muxer ! filesink location=output.xmf filesrc location=file2.midi ! muxer.
3. Subfolders:
Desired layout:
- Root
- Folder1
- Folder2
- file1
Pipeline:
filesrc location=file1.midi name=file1 xmfmux name=muxer ! filesink location=output.xmf file1 ! muxer.Folder1:Folder2:file1Note that in this pipeline we specified the folder structure through the pad names, folders separated with : tokens.
Now on week 5, I'm studying and designing how the ixmf bin will be implemented. Concerning the xmfmux and xmfdemux components, they still lack a couple functionalities required by ixmf:
- xmfdemux: Pull pads for srcpads created
- xmfmux: metadata
Week 5 will be about implementing these remaining functionalities and keep designing the ixmf bin. Next report will expose the design study results and the implementation roadmap.
0 comentários:
Post a Comment