Totem Chapters Plugin - Weekly Report 12



Hey guys,

here is my last weekly report #12 (see text version below):
http://axsaprykin.blogspot.com/2010/08/gsoc-weekly-code-report-12.html

===========================
                 text version
===========================

This is my last GSoC 2010 weekly report. I have mixed feelings: on one
hand I'm sad that summer is over along with the GSoC, but on another
hand I'm happy and proud that I had been working with such a great
GNOME community. Before GSoC I was just looking at all that was
happening around opensource world, especially the GNOME. I always
wanted to make something useful for others, but I didn't know where to
start from. And for me GSoC was like a door to the opensource world.
It let me to come in, and now I don't want to go back :)

Well, this week I was working on GstToc support in the GStreamer. But
there are some more good news: my Totem chapters plugin was pushed
into the master branch (git commit [0]) and now you can test it with
the fresh Totem git snapshot. I'm really glad to see it there, and you
are welcome to test it and to file some bug reports :) Regarding to
GstToc work, there were quite a few changes. I added new GstTocSetter
interface (with unit tests) similar to GstTagSetter interface, so that
applications can set TOC on the pipeline via the proper tocsetter
element, added copy functions for GstTocEntry and GstToc structures,
removed some values from GstTocEntry, added methods to set/get time
positions of the TOC entries, updated tests for GstToc and all docs.
Also other fixes and improvements were done. You can track new patches
in the bug report 540890 [1].

Now I want to summarize a bit all the work I had been doing during
GSoC. You can read more about my project and how the GSoC was on my
project's page [2].

What Is Done

* All things mentioned in my GSoC proposal except writing files with
embedded chapters and overlay titles. The first one will need file
transcoding, which is not cool to do inside Totem. Before GSoC I
thought that it can be done without transcoding, but I was wrong.
Overlay titles need some changes in Totem's GStreamer backend, and
they are not so important to spend time on them.

* Wrote my own tiny CMML parser with embedded thumbnails support using
libxml2 to drop dependency for obsolete libcmml, included in the
chapters plugin.

* Started to implement generic TOC support (GstToc) in the GStreamer.
Totem (and chapters plugin, too) will have great benefits from that:
imagine that you can navigate through FLAC tracks from the embedded
cue sheet or chapters from the Matroska file. And support for new
formats in GStreamer will require almost no changes in chapters plugin
(see link for separate repository on the project's page [2]).

* Implemented Matroska chapters support based on GstToc (see link for
separate repository on the project's page [2]). But it will require
some changes because GstToc isn't stable enough.


What I'm Going to Do After GSoC

* Improve Totem chapters plugin (some UI redesign, integration with GstToc).
* Finish GstToc support in the GStreamer.
* Finish Matroska chapters support after GstToc stabilization.
* Implement GstToc support for the FLAC embedded cue sheets (I have
already read FLAC specifications).
* Look for other GStreamer elements where I can implement GstToc
support to make chapters plugin more valuable.

What I Have Learnt During GSoC

* GLib/GObject
* GTK+
* libxml2
* CMML and Annodex formats
* OGG/liboggz
* GStreamer
* Matroska/EBML format
* FLAC format
* How to work with git and bugzilla
* Autotools a bit
* and other coding tips & tricks

I want to say a big "thank you" to my mentor Bastien Nocera for his
help, advices and guidance during this summer, to Sebastian Dröge from
the GStreamer team for his great help with GstToc and Matroska, to all
GSoC GNOME administrators for their hard work with us and to all those
people who helped me with advices and who simply believed in my
success - I tried to do my best. And also I want to thanks Google for
such a great opportunity to work during this summer. I'm not saying
goodbye, I just want to put a little point at the end of this summer
:)

================================
               git shortlog
================================

For chapters plugin see commit [0] in the Totem repository
(git://git.gnome.org/totem.git)

For GstToc work (git://gitorious.org/gstreamer-chapters/gstreamer-core.git):

commit 1ecea646f7a394a098f17704942673f537d35b0f
Author: Alexander Saprykin <xelfium gmail com>
Date:   Fri Aug 13 23:28:31 2010 +0400

    gstchecks: Add new unit test for the GstTocSetter

commit 2c7cdc7f7e3095af8f62da185af126b5345559f8
Author: Alexander Saprykin <xelfium gmail com>
Date:   Fri Aug 13 23:25:34 2010 +0400

    gsttocsetter: Add new functions

    Add gst_toc_setter_get_toc_copy (),
gst_toc_setter_get_toc_entry_copy () and gst_toc_setter_add_toc_entry
()

commit c55b2a981000810afd15dc9d98aba1676a21ab7f
Author: Alexander Saprykin <xelfium gmail com>
Date:   Fri Aug 13 20:55:53 2010 +0400

    gstchecks: Update gsttoc test to the changes in GstToc

    Remove start, stop and format values
    Add test to gst_toc_entry_set_start_stop () and
gst_toc_entry_get_start_stop ()

commit 8bcc4f5541db8430af06d62492d56c764e5e2071
Author: Alexander Saprykin <xelfium gmail com>
Date:   Fri Aug 13 20:51:20 2010 +0400

    gsttoc: A lot of improvements and additions

    Remove start, stop and format fields from the GstTocEntry
    Replace pad field in GstTocEntry with GList
    Add gst_toc_entry_new_with_pad ()
    Add gst_toc_find_entry () to search inside the TOC by UID
    Add gst_toc_entry_copy () and gst_toc_copy () functions
    Add gst_toc_entry_set_start_stop () and gst_toc_entry_get_start_stop ()
    Docs fixed
    Some bugs fixed

commit 8a715734478ebba00c8c4f4af92d6e5d8833bfdd
Author: Alexander Saprykin <xelfium gmail com>
Date:   Fri Aug 13 20:49:35 2010 +0400

    docs: Add gsttocsetter and gsttoc functions

commit a96e031ce55bb97284fc920e4b8d76a49d039848
Author: Alexander Saprykin <xelfium gmail com>
Date:   Fri Aug 13 20:48:26 2010 +0400

    Add gsttocsetter.h into gst.h

--------------------------------------------------------
[0] http://git.gnome.org/browse/totem/commit/?id=66d1958a89affb91380777409bd863faf668e872
[1] https://bugzilla.gnome.org/show_bug.cgi?id=540890
[2] http://live.gnome.org/SummerOfCode2010/AlexanderSaprykin_Totem


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]