Hi all,

I'm starting to write a channel list for dvbsak. I can choose at
least three different formats of storing the list:

a) XML, using libxml
        + Simple to add additional fields (e.g. VES1820 register values)
        + Lots of parsers in different programming languages can be used
        + Standardized
        - Depends on libxml
        - A bit hard to read
b) scconf (from OpenSC <http://www.opensc.org>)
        + Simple to add additional fields
        + Minimal effort on my part =)
        + Readable by humans (or at least C programmers =))
        - Depends on scconf
        + ... which isn't too large and can easily be embedded
          in dvbsak package
        - scconf depends on flex (until someone writes
          a lightweight replacement parser)
c) Proprietary format
        - Somewhat difficult to add additional fields
        - Needs a lot of coding!
        + No dependencies

So a) could look like this (adapted partially from dvbtune):

<transport_stream id="0x0003" orig_nid="0x1234">
  <sat_tuning_info>
    <frequency>12345</frequency>
    <symbol_rate>12345</symbol_rate>
    <polarity>h</polarity>
  </sat_tuning_info>
  <cable_tuning_info>
    <frequency>250000</frequency>
    <symbol_rate>7146</symbol_rate>
    <modulation>64-QAM</modulation>
    <ves1820_regs reg5="123" reg7="231" />
  </cable_tuning_info>
  <ter_tuning_info>
    ...
  </ter_tuning_info>
  <descriptor tag="0xab" data="123456" />

  <service id="0x0135" ca="1">
    <description type="1" provider_name="Telenor" service_name="Canal+ BL�" />
    <stream type="3" pid="0x02AC">
      <language code="fin" type="0" />
      ...
    </stream>
    <stream type="2" pid="0x0206">
    ...
    </stream>
  </service>
  <service id="0x0134" ca="1">
    ...
  </service>
</transport_stream>

I'm not too fluent in XML, so forgive me if there's something really silly. =)

And b) would look like this:

transport_stream 0x0003 {
        original_network_id = 0x1234;
        descriptor = "ab:123456";
        descriptor = "cd:654321";
        sat_tuning_info {
                frequency = 22345;
                symbol_rate = 12345;
                polarity = h;
        }
        cable_tuning_info {
                frequency = 250000;
                symbol_rate = 7146;
                modulation = 64-QAM;
        }
        service 0x0135 {
                ca = true;
                type = 1;
                name = "Canal+ BL�";
                provider_name = "Telenor";
                stream 0x02AC {
                        type = 3;
                        language = "fin";
                }
        }
        ...
}

As for c), any suggestions? =)

What do you guys think? Which should I choose? Any other formats I
should consider?

Cheers,
Juha


-- 
Info:
To unsubscribe send a mail to [EMAIL PROTECTED] with "unsubscribe linux-dvb" as 
subject.

Reply via email to