<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>KdW</title>
  <link rel="alternate" type="text/html" href="http://www.k-d-w.org"/>
  <link rel="self" type="application/atom+xml" href="http://www.k-d-w.org/atom/feed"/>
  <id>http://www.k-d-w.org/atom/feed</id>
  <updated>2008-05-18T20:16:06+02:00</updated>
  <entry>
    <title>Bugs. They are everywhere.</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/52" />
    <id>http://www.k-d-w.org/node/52</id>
    <published>2008-07-21T22:07:01+02:00</published>
    <updated>2008-07-21T22:37:20+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>Last week my second DVB-T adapter arrived. Therefore, I was able to test whether recording on multiple devices that are part of the same group works. At first it didn't and I had to do quite some refactoring to get it working. Nevertheless, it finally works.</p>
<p>In addition, I tried to add support of recording multiple channels that are part of the same transport stream. The code is there, but it behaves weird. First, both recordings stopped when the second recording started. Pausing the pipeline when changing dvbbasebin's program-number property resulted in a working recording for the first channel and a damaged recording for the second (there was no video and sound from the first one).</p>
<p>I still have another problem with GStreamer core + base 0.10.20 and bad from cvs on Ubuntu hardy. It gives me criticals and segfaults when retrieving EPG of one particular channel. I could confirm this on another machine with the same setup. Unfortunately, <a href="http://zaheer.merali.org/" target="_blank">Zaheer</a> isn't able to reproduce this.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Last week my second DVB-T adapter arrived. Therefore, I was able to test whether recording on multiple devices that are part of the same group works. At first it didn't and I had to do quite some refactoring to get it working. Nevertheless, it finally works.</p>
<p>In addition, I tried to add support of recording multiple channels that are part of the same transport stream. The code is there, but it behaves weird. First, both recordings stopped when the second recording started. Pausing the pipeline when changing dvbbasebin's program-number property resulted in a working recording for the first channel and a damaged recording for the second (there was no video and sound from the first one).</p>
<p>I still have another problem with GStreamer core + base 0.10.20 and bad from cvs on Ubuntu hardy. It gives me criticals and segfaults when retrieving EPG of one particular channel. I could confirm this on another machine with the same setup. Unfortunately, <a href="http://zaheer.merali.org/" target="_blank">Zaheer</a> isn't able to reproduce this.</p>
<p>Beside working on the recording stuff, I started creating an assistant that will guide the user through the process of setting up his or her DVB card. It's far from complete and doesn't do anything useful, yet.</p>
<p>Furthermore, I started working on a prototype of a <a href="http://bugzilla.gnome.org/show_bug.cgi?id=542925" target="_blank">Rhythmbox plugin to listen to DVB radio</a>. Despite the fact that it's actually working there's still a lot to do.</p>
<p>Things that changed, too:</p>
<ul>
<li>Added RemoveDeviceFromGroup and DeleteDeviceGroup methods</li>
<li>Remove channels_conf and recordings_dir parameter from AddDeviceToExistingGroup because they are overwritten anyway.</li>
<li>Added Get(Radio|TV)Channels and IsRadioChannel methods to ChannelList interface</li>
</ul>
<p>Next week I'm concentrating on the setup assistant and I should finally make some process on the EPG part.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Lazy week</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/51" />
    <id>http://www.k-d-w.org/node/51</id>
    <published>2008-07-14T17:42:47+02:00</published>
    <updated>2008-07-14T18:02:10+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>I didn't do much last week. Partly, because <a href="http://bugzilla.gnome.org/show_bug.cgi?id=539969" target="_blank">bug 539969</a> still keeps me from continuing working on the EPG part.</p>
<p>What did change last week is that each Device must be part of a DeviceGroup now. All devices in a DeviceGroup must be of same type and share one channels.conf and recordings' dir. That means that each DeviceGroup has its own Recorder and ChannelList D-Bus service now. A DeviceGroup becomes helpful when it contains more than one device. You can schedule timers that overlap and dvb-daemon distributes them across the devices that no conflicts arise.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I didn't do much last week. Partly, because <a href="http://bugzilla.gnome.org/show_bug.cgi?id=539969" target="_blank">bug 539969</a> still keeps me from continuing working on the EPG part.</p>
<p>What did change last week is that each Device must be part of a DeviceGroup now. All devices in a DeviceGroup must be of same type and share one channels.conf and recordings' dir. That means that each DeviceGroup has its own Recorder and ChannelList D-Bus service now. A DeviceGroup becomes helpful when it contains more than one device. You can schedule timers that overlap and dvb-daemon distributes them across the devices that no conflicts arise.</p>
<p>Although, I didn't test it, I'm almost sure that it works and I already ordered a second DVB-T adapter to ensure that it's really working.</p>
<p>Next week, I'm going to find a way to distinguish TV channels from radio channels (both internally and through D-Bus) and write a GUI to access the Scanner parts.</p>
<p>Last but not least, does somebody know how I can retrieve a list of DVB devices that are installed in a computer? I tried HAL, but it seems that it doesn't support that.</p>
    ]]></content>
  </entry>
  <entry>
    <title>And action!</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/50" />
    <id>http://www.k-d-w.org/node/50</id>
    <published>2008-07-07T10:48:43+02:00</published>
    <updated>2008-07-07T11:16:14+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>Unfortunately, I couldn't continue working on the EPG part. Instead I worked some other things:</p>
<ul>
<li>Added ChannelList D-Bus interface to retrieve information about channels.</li>
<li>Added GUI client to add and delete timers</li>
<li>Fixed several bugs</li>
</ul>
<p><a href="https://coherence.beebits.net" target="_blank">Frank Scholz</a> continued integrating dvb-daemon into <a href="https://coherence.beebits.net/wiki/DVBDaemon" target="_blank">Coherence</a>. I created a screencast that shows how you can access recordings from dvb-daemon in Totem with the help of Coherence's UPnP server:</p>
<ul>
<li><a href="http://www.gnome.org/~sebp/files/dvb-coherence.ogg">Ogg Theora</a> (7 MB)</li>
<li><a href="http://www.gnome.org/~sebp/files/dvb-coherence.avi">Xvid encoded AVI</a> (13 MB)</li>
</ul>
    ]]></summary>
    <content type="html"><![CDATA[<p>Unfortunately, I couldn't continue working on the EPG part. Instead I worked some other things:</p>
<ul>
<li>Added ChannelList D-Bus interface to retrieve information about channels.</li>
<li>Added GUI client to add and delete timers</li>
<li>Fixed several bugs</li>
</ul>
<p><a href="https://coherence.beebits.net" target="_blank">Frank Scholz</a> continued integrating dvb-daemon into <a href="https://coherence.beebits.net/wiki/DVBDaemon" target="_blank">Coherence</a>. I created a screencast that shows how you can access recordings from dvb-daemon in Totem with the help of Coherence's UPnP server:</p>
<ul>
<li><a href="http://www.gnome.org/~sebp/files/dvb-coherence.ogg">Ogg Theora</a> (7 MB)</li>
<li><a href="http://www.gnome.org/~sebp/files/dvb-coherence.avi">Xvid encoded AVI</a> (13 MB)</li>
</ul>
<p>The <a href="https://coherence.beebits.net/wiki/Totem" target="_blank">Coherence Totem plugin</a> connects to the Coherence daemon via IP and retrieves the recordings. Because Coherence uses UPnP you can access the recordings from any UPnP capable client (e.g. the PS3).</p>
<p>The plan is to support the <a href="http://upnp.org/specs/av/UPnP-av-ScheduledRecording-v1-Service-20060531.pdf" target="&#039;_blank">ScheduledRecording specification</a> in the future, too. Because Coherence now propagates the DVB-Daemon into the UPnP world, you can access the recodings from any UPnP capable clients (e.g. the PS3) on your network.</p>
<p>If you want to try it out yourself you will need the latest dvb-daemon:<br />
<code>bzr branch http://www.gnome.org/~sebp/bzr/dvb-daemon</code><br />
and Coherence from SVN:<br />
<code>svn co <a href="https://coherence.beebits.net/svn/trunk" title="https://coherence.beebits.net/svn/trunk">https://coherence.beebits.net/svn/trunk</a> coherence</code>.</p>
<p>Install dvb-daemon, Coherence and the Coherence Totem plugin. First, start the dvb-daemon and then Coherence with the command<br />
<code>coherence -o use_dbus:yes -o controlpoint:yes --plugin=backend:DVBDStore,enable_destroy:yes</code></p>
<p>To add new timers start the GUI client:<br />
<code>python dvb-daemon/client/gui.py</code></p>
<p>Now you can start Totem, activate the <a href="https://coherence.beebits.net/wiki/Totem" target="_blank">Coherence plugin</a> and wait until a new recording comes up in the sidebar.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Last week&#039;s dvb-daemon progress</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/49" />
    <id>http://www.k-d-w.org/node/49</id>
    <published>2008-06-29T19:33:14+02:00</published>
    <updated>2008-06-29T19:33:35+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>Last week wasn't as productive as I wished. Nevertheless, here's my report.</p>
<p>Thanks to <a href="http://blogs.gnome.org/juergbi" target="_blank">Jürg</a>'s awesome work all D-Bus interfaces are working and can be accessed by other applications. Except, Manager's <em>GetRegisteredDevices</em> method which doesn't work because of <a href="http://bugzilla.gnome.org/show_bug.cgi?id=540730" target="_blank">bug 540730</a>.</p>
<p>I tried to continue on storing EPG data, but unfortunately came across <a href="http://bugzilla.gnome.org/show_bug.cgi?id=539969" target="_blank">bug 539969</a> quickly.</p>
<p>Furthermore, all registered devices together with their channels.conf and timers are stored in GConf and are restored when the daemon is started again. That means that the daemon is actually usable and you don't have to re-compile the code to add a new timer. I extended the sample client, written in Python, too. It makes use of all the D-Bus interfaces of the daemon.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Last week wasn't as productive as I wished. Nevertheless, here's my report.</p>
<p>Thanks to <a href="http://blogs.gnome.org/juergbi" target="_blank">Jürg</a>'s awesome work all D-Bus interfaces are working and can be accessed by other applications. Except, Manager's <em>GetRegisteredDevices</em> method which doesn't work because of <a href="http://bugzilla.gnome.org/show_bug.cgi?id=540730" target="_blank">bug 540730</a>.</p>
<p>I tried to continue on storing EPG data, but unfortunately came across <a href="http://bugzilla.gnome.org/show_bug.cgi?id=539969" target="_blank">bug 539969</a> quickly.</p>
<p>Furthermore, all registered devices together with their channels.conf and timers are stored in GConf and are restored when the daemon is started again. That means that the daemon is actually usable and you don't have to re-compile the code to add a new timer. I extended the sample client, written in Python, too. It makes use of all the D-Bus interfaces of the daemon.</p>
<p>I haven't decided what I'm going to do next week, yet. This mostly depends on <a href="http://zaheer.merali.org/" target="_blank">Zaheer</a>'s review that he did during the last week. So I might spend next week fixing issues Zaheer pointed out or continuing hacking on the EPG stuff, if possible. If that's not possible I'm going to start writing a separate GUI application that accesses the daemon through D-Bus. With that application it should be easy for users to scan for channels and schedule recordings.</p>
    ]]></content>
  </entry>
  <entry>
    <title>The rise of the dvb-daemon</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/48" />
    <id>http://www.k-d-w.org/node/48</id>
    <published>2008-06-22T21:27:53+02:00</published>
    <updated>2008-06-22T21:28:52+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>I was able to complete all tasks I wanted to last week. The Scanner works completely for DVB-T and supposably for DVB-S and DVB-C. The Scanner contains a new method <em>WriteChannelsToFile</em>, too.</p>
<p>In addition, I started work on the EPGScanner that scans in fixed intervals for EPG data on each channel. Currently, the data is just read and stored in the Channel it belongs to ordered by time. Still missing are:</p>
<ul>
<li>Checking for duplicate events</li>
<li>Retrieve event with given id</li>
</ul>
<p>I'm not sure how I should make the EPG data accessible. Separately, for each device? In a central place with merged data from all sources? Any recommendations are highly appreciated.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I was able to complete all tasks I wanted to last week. The Scanner works completely for DVB-T and supposably for DVB-S and DVB-C. The Scanner contains a new method <em>WriteChannelsToFile</em>, too.</p>
<p>In addition, I started work on the EPGScanner that scans in fixed intervals for EPG data on each channel. Currently, the data is just read and stored in the Channel it belongs to ordered by time. Still missing are:</p>
<ul>
<li>Checking for duplicate events</li>
<li>Retrieve event with given id</li>
</ul>
<p>I'm not sure how I should make the EPG data accessible. Separately, for each device? In a central place with merged data from all sources? Any recommendations are highly appreciated.</p>
<p>In other news, the author of <a href="http://coherence.beebits.net/" target="_blank">Coherence</a> (a UPnP Mediaserver), who recently <a href="http://www.hadess.net/2008/06/he-does-it-again.html" taget="_blank">became popular</a> for providing a Totem plugin, contacted me. We agreed that it would be awesome if the recordings and later the actual recorder would be connected to Coherence. He already wrote a <a href="https://coherence.beebits.net/wiki/DVBDaemon" target="_blank">plugin</a> for Coherence based on RecordingsStore's D-Bus interface. I'm hoping that Vala will improve its <a href="http://bugzilla.gnome.org/show_bug.cgi?id=539357" target="_blank">D-Bus support</a> soon to see it in action.</p>
<p>The next week will be dedicated to EPG data. Fetch it, store it, make it accessible.</p>
<p>Last but not least checkout the code:<br />
<code>bzr branch http://www.gnome.org/~sebp/bzr/dvb-daemon</code></p>
    ]]></content>
  </entry>
  <entry>
    <title>Last week&#039;s work on DVB daemon</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/47" />
    <id>http://www.k-d-w.org/node/47</id>
    <published>2008-06-16T20:24:46+02:00</published>
    <updated>2008-06-16T20:26:18+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>Nothing big feature-wise has been added. Instead, I cleaned up the code a little bit and fixed some bugs.</p>
<ul>
<li>Added possibility to delete recordings</li>
<li>Improved encoding patch for GStreamer's mpegtsparse to handle multibyte encodings (the patch is already committed)</li>
<li>Came up with interface to access EPG. Nothing implemented, yet, just method stubs</li>
<li>Continued working on the Scanner. It still isn't finished. Just need to find a good way to get and store all values necessary for channels.conf</li>
</ul>
    ]]></summary>
    <content type="html"><![CDATA[<p>Nothing big feature-wise has been added. Instead, I cleaned up the code a little bit and fixed some bugs.</p>
<ul>
<li>Added possibility to delete recordings</li>
<li>Improved encoding patch for GStreamer's mpegtsparse to handle multibyte encodings (the patch is already committed)</li>
<li>Came up with interface to access EPG. Nothing implemented, yet, just method stubs</li>
<li>Continued working on the Scanner. It still isn't finished. Just need to find a good way to get and store all values necessary for channels.conf</li>
</ul>
<p>In the next week I'm going to finally complete the Scanner (at least for DVB-T) and start implementing the retrieval of EPG data.</p>
    ]]></content>
  </entry>
  <entry>
    <title>The past and the future</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/46" />
    <id>http://www.k-d-w.org/node/46</id>
    <published>2008-06-08T19:29:48+02:00</published>
    <updated>2008-06-09T04:19:44+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>I didn't get everything done I intended to last week. The most notable changes are:</p>
<ul>
<li>I implemented a class RecordingsStore that manages the finished recordings</li>
<li>Information stored in the Recording class is written to disk when the recordings is stopped that it can be restored next time the daemon starts</li>
<li>The recording will be stopped when an error appears while recording</li>
<li>Extended the Manager class. You have to register a device first, before you can use the Recorder of the device. It isn't accessible trough D-Bus anymore because Vala doesn't support arrays with D-Bus, yet.</li>
<li>Timers can be stored to disk and restored. However, this feature is currently not used, because I'm not sure what's the best location to store them</li>
<li>The patch that will convert all encodings to proper UTF-8 in GStreamer's mpegtsparse is basically ready. <a href="http://zaheer.merali.org/" target="_blank">Zaheer</a> is currently testing it.</li>
</ul>
    ]]></summary>
    <content type="html"><![CDATA[<p>I didn't get everything done I intended to last week. The most notable changes are:</p>
<ul>
<li>I implemented a class RecordingsStore that manages the finished recordings</li>
<li>Information stored in the Recording class is written to disk when the recordings is stopped that it can be restored next time the daemon starts</li>
<li>The recording will be stopped when an error appears while recording</li>
<li>Extended the Manager class. You have to register a device first, before you can use the Recorder of the device. It isn't accessible trough D-Bus anymore because Vala doesn't support arrays with D-Bus, yet.</li>
<li>Timers can be stored to disk and restored. However, this feature is currently not used, because I'm not sure what's the best location to store them</li>
<li>The patch that will convert all encodings to proper UTF-8 in GStreamer's mpegtsparse is basically ready. <a href="http://zaheer.merali.org/" target="_blank">Zaheer</a> is currently testing it.</li>
</ul>
<p>Unfortunately, I was unable to continue the work on the scanner, because Vala has some issues with Gst.Structure class.</p>
<p>My plan for the next week is:</p>
<ul>
<li>Continue working on Scanner (depends if issues with Vala will be fixed in time)</li>
<li>Planing the storage/retrieval of EPG data (maybe start implementing it, too)</li>
</ul>
    ]]></content>
  </entry>
  <entry>
    <title>Let&#039;s record</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/45" />
    <id>http://www.k-d-w.org/node/45</id>
    <published>2008-06-01T19:58:54+02:00</published>
    <updated>2008-06-01T19:58:54+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>Last week has been successful and almost all <a href="http://www.k-d-w.org/node/44">tasks</a> have been completed. That means that channel.conf can be read and written for all DVB types. Recording should work for all DVB types, too (as already mentioned I myself can only test DVB-T). In addition, recordings are actually stopped after the given duration.</p>
<p>I couldn't write a D-Bus interface for the Recorder, though. That's because <a href="http://live.gnome.org/Vala" target="_blank">Vala</a> can't export arrays over D-Bus, yet. But I'm sure this feature will be added soon. Instead, I could work on the Scanner, because <a href="http://blogs.gnome.org/juergbi" target="_blank">Jürg</a> fixed the bug that previously blocked the work in this area. However, the scanner isn't working and complete, yet.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>Last week has been successful and almost all <a href="http://www.k-d-w.org/node/44">tasks</a> have been completed. That means that channel.conf can be read and written for all DVB types. Recording should work for all DVB types, too (as already mentioned I myself can only test DVB-T). In addition, recordings are actually stopped after the given duration.</p>
<p>I couldn't write a D-Bus interface for the Recorder, though. That's because <a href="http://live.gnome.org/Vala" target="_blank">Vala</a> can't export arrays over D-Bus, yet. But I'm sure this feature will be added soon. Instead, I could work on the Scanner, because <a href="http://blogs.gnome.org/juergbi" target="_blank">Jürg</a> fixed the bug that previously blocked the work in this area. However, the scanner isn't working and complete, yet.</p>
<p>Today I tried to get encoding of text from DVB right. GStreamer's mpegtsparse should only return proper encoded UTF-8 strings when I'm done. The patch is almost complete, only one case is missing. Hopefully, I can complete the patch tomorrow and propose it for inclusion.</p>
<p>Next week I'm going to</p>
<ul>
<li>Complete the Scanner</li>
<li>Write code that timers are stored to disk and restored when the daemon is started again. Currently, all timers are lost when the daemon quits. That's not the preferred behavior, of course.</li>
<li>Write a class that manages recordings (i.e. recordings that are already finished). This class will be accessible through D-Bus, too.</li>
<li>Write a D-Bus interface that provides access to a list of channels for each DVB device.</li>
</ul>
<p>Let's see how far I came next week.</p>
    ]]></content>
  </entry>
  <entry>
    <title>DVB Manager status report</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/44" />
    <id>http://www.k-d-w.org/node/44</id>
    <published>2008-05-25T21:02:53+02:00</published>
    <updated>2008-05-25T21:02:53+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>As mentioned in my  <a href="http://www.k-d-w.org/node/43">previous post</a> I can't continue working on the scanning code, because of <a href="http://bugzilla.gnome.org/show_bug.cgi?id=530817" target="_blank">a bug</a> in <a href="http://live.gnome.org/Vala" target="_blank">Vala</a>. Therefore, I worked on scheduling recordings and actually recording the channel in time (for DVB-T). It's still pretty rough, but recording works. Despite the fact that recordings don't end.</p>
<p>That has to do with the time calculations that are necessary to figure out if the duration of the recording is already reached. Does anybody now a library (ideally already available through Vala) that does the time and date calculations for me? I couldn't find what I needed in GLib. Basically, I have a start time with year, month, day, hour and minute and a duration of the recording. Want I want is the end time of the recording in the same format as the start time.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>As mentioned in my  <a href="http://www.k-d-w.org/node/43">previous post</a> I can't continue working on the scanning code, because of <a href="http://bugzilla.gnome.org/show_bug.cgi?id=530817" target="_blank">a bug</a> in <a href="http://live.gnome.org/Vala" target="_blank">Vala</a>. Therefore, I worked on scheduling recordings and actually recording the channel in time (for DVB-T). It's still pretty rough, but recording works. Despite the fact that recordings don't end.</p>
<p>That has to do with the time calculations that are necessary to figure out if the duration of the recording is already reached. Does anybody now a library (ideally already available through Vala) that does the time and date calculations for me? I couldn't find what I needed in GLib. Basically, I have a start time with year, month, day, hour and minute and a duration of the recording. Want I want is the end time of the recording in the same format as the start time.</p>
<p>Furthermore, I completed a reader of channels.conf for DVB-T. In the next week I plan to </p>
<ul>
<li>extend the reader that it can read channels.conf for DVB-S and DVB-C, too</li>
<li>Write a writer of channels.conf file</li>
<li>Implement recording for DVB-S and DVB-C. Unfortunately, I won't be able to test one of them, as I only have access to DVB-T</li>
<li>Polish the recorder (thread-safety, sanity checks)</li>
<li>Make recorder accessible trough D-Bus</li>
</ul>
<p>You can checkout all the code with<br />
<code>bzr branch http://www.gnome.org/~sebp/bzr/dvb-daemon</code></p>
    ]]></content>
  </entry>
  <entry>
    <title>Work has started</title>
    <link rel="alternate" type="text/html" href="http://www.k-d-w.org/node/43" />
    <id>http://www.k-d-w.org/node/43</id>
    <published>2008-05-18T20:15:07+02:00</published>
    <updated>2008-05-18T20:16:06+02:00</updated>
    <author>
      <name>sebp</name>
    </author>
    <category term="GNOME" />
    <summary type="html"><![CDATA[<p>The last two weeks I made myself comfortable with the DVB and MPEG-TS part of GStreamer. I took code by <a href="http://zaheer.merali.org/" target="_blank">Zaheer</a> and refactored it. All the acronyms drive me crazy sometimes, but I understand most of them by now. It's currently possible to scan channels, watch channels and display EPG.</p>
<p align="center">
<a href="http://www.k-d-w.org/uploads/images/dvb-scanner-alpha.jpg"><img src="http://www.k-d-w.org/uploads/images/dvb-scanner-alpha_thumb.jpg" border="0" /></a>
</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>The last two weeks I made myself comfortable with the DVB and MPEG-TS part of GStreamer. I took code by <a href="http://zaheer.merali.org/" target="_blank">Zaheer</a> and refactored it. All the acronyms drive me crazy sometimes, but I understand most of them by now. It's currently possible to scan channels, watch channels and display EPG.</p>
<p align="center">
<a href="http://www.k-d-w.org/uploads/images/dvb-scanner-alpha.jpg"><img src="http://www.k-d-w.org/uploads/images/dvb-scanner-alpha_thumb.jpg" border="0" /></a>
</p>
<p>This code was written in Python. I decided to port everything to <a href="http://live.gnome.org/Vala" target="_blank">Vala</a>, because Python isn't the best choice for a daemon and I hate all the boilerplate in GObject C. Vala makes things just so easy. I love it!</p>
<p>I already started porting the code to Vala. Currently, <a href="http://bugzilla.gnome.org/show_bug.cgi?id=530817" target="_blank">bug 530817</a> is keeping me from continuing the work on the scanner.</p>
<p>I use this as opportunity to get familiar with <a href="http://bazaar-vcs.org/" target="_blank">Bzr</a> as well. I created a  repository at <a href="http://www.gnome.org/~sebp/bzr/dvb-daemon" title="http://www.gnome.org/~sebp/bzr/dvb-daemon">http://www.gnome.org/~sebp/bzr/dvb-daemon</a> (Vala code) and one at <a href="http://www.k-d-w.org/www/bzr/python-dvb" title="http://www.k-d-w.org/www/bzr/python-dvb">http://www.k-d-w.org/www/bzr/python-dvb</a> containing the Python code. I like the fact that you can push over ftp.</p>
<p>Next I'm going to design the D-Bus interface for the daemon.</p>
    ]]></content>
  </entry>
</feed>
