Totem Chapters Plugin - Weekly Report 8



Hey  guys,

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

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

Wow, another week has gone :) Enormous heat is continuing to terrorize
Saint Petersburg, it is really hot hear :) Well, the summer is going
on. This week I was working on GStreamer's table of contents (TOC)
implementation. First of all, I moved all code related to generic TOC
manipulation into the separate module (called GstToc for now). Of
course, there were discussions with Sebastian Dröge about best way to
do it. Main structures were changed a bit, too (e.g. titles are merged
with tags list). There are four public functions now - to create/free
TOC and it's entries. That's all. So, you can fill structures in free
way and send them later.

Next, I was writing GTK-Doc comments to create GstToc section in
GStreamer reference manual. Well, now it looks quite nice, I think. I
hope it would be helpful. Also I added new GstEvent and GstMessage for
sending and parsing TOC events and messages. Usage is rather common
who is known with GStreamer: gst_event_new_toc () and
gst_event_parse_toc () for the TOC events, gst_message_new_toc () and
gst_message_parse_toc () for the TOC messages. After reading manual
for Check unit testing framework I wrote test for GstToc serialization
into GstStructure and back. I added this test to the Gstreamer's set
of test cases. I need to say that unit testing rocks :) It is much
easier to test changes (especially large-scale changes) with unit
testing, and it helps me to find some regressions during code writing.

Also I was working on Matroska's TOC implementation. Now Matroska
demuxer fully supports GstToc features except handling
per-chapter/edition/toc tags. I cleaned up my code and made some
optimizations to make it a bit faster, thanks to Sebastian's advices.
And at the end of the week I spent some time to update and rebuild
core libraries I need to work with. After some initial reviews made by
Sebastian, I attached the set of patches to appropriate bug reports:
#540890[0] and #481070[1]. Now I'm waiting for the further reviews :)
Anyway, you can test them with latest git versions of GStreamer.

As for my planning, the things were changed right on the road. Working
on code integration with such a large project as GStreamer takes much
more time I thought before. So I spent most of the time for code clean
up, moving it to the appropriate place, writing docs and tests. I have
to admit that my planning was not quite accurate, but I think that the
amount of work done is quite well. Next week I will continue to work
on TOC integration into the GStreamer and to fix any related issues.
Also I have some ideas how I can improve Totem chapters plugin and I
want to work on it a bit. And I'm planning to start working on TOC
support in Matroska muxer (hope I will have time for that). Cya ;)

================================

As for git logs, I think creating a new repo just for a couple of
commits is not the right way, so here are git logs from the
patches[0][1] I've sent to GStreamer bugzilla:

>From 30c40027c863c90362fb66b66f5faa66fc52867d Mon Sep 17 00:00:00 2001
From: Alexander Saprykin <xelfium gmail com>
Date: Sat, 17 Jul 2010 18:17:45 +0400
Subject: [PATCH 1/5] Add generic table of contents (TOC) support
---
 gst/Makefile.am   |    2 +
 gst/gst.c         |    1 +
 gst/gst.h         |    1 +
 gst/gst_private.h |   10 +
 gst/gsttoc.c      |  522 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 gst/gsttoc.h      |  100 ++++++++++
 6 files changed, 636 insertions(+), 0 deletions(-)


>From d726d517c88557a3a7b878937293088b5a51aeac Mon Sep 17 00:00:00 2001
From: Alexander Saprykin <xelfium gmail com>
Date: Sat, 17 Jul 2010 18:18:45 +0400
Subject: [PATCH 2/5] event: Add new TOC event

Add gst_event_new_toc () and gst_event_parse_toc ()
---
 gst/gstevent.c |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 gst/gstevent.h |    8 ++++++++
 2 files changed, 59 insertions(+), 0 deletions(-)


>From ef2965bcd9c03f9f29f1d656dcef12858169cce2 Mon Sep 17 00:00:00 2001
From: Alexander Saprykin <xelfium gmail com>
Date: Sat, 17 Jul 2010 18:19:52 +0400
Subject: [PATCH 3/5] message: Add new TOC message

Add gst_message_new_toc () and gst_message_parse_toc ()
---
 gst/gstmessage.c |   61 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 gst/gstmessage.h |    8 +++++++
 2 files changed, 68 insertions(+), 1 deletions(-)


>From b991d69a03c866ccee876614d703bee5a5bfe684 Mon Sep 17 00:00:00 2001
From: Alexander Saprykin <xelfium gmail com>
Date: Sat, 17 Jul 2010 18:21:24 +0400
Subject: [PATCH 4/5] docs: Add GstToc section
---
 docs/gst/gstreamer-docs.sgml    |    1 +
 docs/gst/gstreamer-sections.txt |   22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+), 0 deletions(-)


>From 0dfb4656bbfc1d1341fb7649e1b640b15e74e65f Mon Sep 17 00:00:00 2001
From: Alexander Saprykin <xelfium gmail com>
Date: Sat, 17 Jul 2010 18:22:57 +0400
Subject: [PATCH 5/5] gstchecks: Add test for the GstToc
---
 tests/check/Makefile.am  |    3 +-
 tests/check/gst/gsttoc.c |  258 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 260 insertions(+), 1 deletions(-)


>From 860ec65f617ffeade3ae31cc8813a97c209f50cf Mon Sep 17 00:00:00 2001
From: Alexander Saprykin <xelfium gmail com>
Date: Sat, 17 Jul 2010 21:29:44 +0400
Subject: [PATCH] matroskademux: Add TOC support for the chapters
---
 gst/matroska/matroska-demux.c |  294 +++++++++++++++++++++++++++++++++++++++--
 gst/matroska/matroska-demux.h |    4 +-
 2 files changed, 288 insertions(+), 10 deletions(-)

================================
[0] - https://bugzilla.gnome.org/show_bug.cgi?id=540890
[1] - https://bugzilla.gnome.org/show_bug.cgi?id=481070


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