Mailing List archive

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

[linux-dvb] Channel database format for dvbsak



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 listar@linuxtv.org with "unsubscribe linux-dvb" as subject.



Home | Main Index | Thread Index