Jump to content
oleq

TransEdit: an idea to add ability to define own descriptors, an idea to parse PID as table and question about DSM-CC

Recommended Posts

oleq

Lately I have ran across two ideas, which I would like to share.

 

I would be very grateful if @Griga would look at these and evaluate them ;)

 

1. Sometimes it could be useful to be able to define somehow descriptor from "User defined" group

 

Let's say that there is 0x95 descriptor, which is unknown for TransEdit and not defined by DVB, but I know it's structure and it would be great to see it in TS Analyzer window tree in readable form, instead of HEX preview.

 

My idea is to give ability to define maybe some XML structure in special file (eg AdditionalDescriptors.xml), which TransEdit would be able to read and use to parse additional descriptors.

 

Probably it would need to define some structure, like:

- descriptor HEX value (0x95)

- descriptor name

- for each field: field length in bits, name, type (like text, hex, number, some other?), eventually list of possible values with their meaning

 

Sample structure could look like this:

<?xml version="1.0" encoding="utf-8"?>
	<Descriptor Length="32" HValue="0x95" Name="Sample descriptor">
		<Field Length="8" Type="HEX" Name="Address">
			<Value Value="1" Name="Data 1">
			<Value Value="2" Name="Data 2">
			<Value Value="3" Name="Data 3">
		</Field>
		<Field Length="8" Type="HEX" Name="Command">
			<Value Value="C" Name="Up">
			<Value Value="D" Name="Down">
			<Value Value="E" Name="Left">
		</Field>
		<Field Length="16" Type="Text" Name="Message">
			<Value Value="w" Name="GET">
			<Value Value="x" Name="POST">
			<Value Value="z" Name="REST">
		</Field>
	</Descriptor>

TransEdit would then show in tree instead of:

 

Descriptor = 0x95 - User defined

- DescriptorLength = 32

- Data = 1C 77

 

Such structure:

 

Descriptor = 0x95 - Sample descriptor

- DescriptorLength = 32

- Address = 0x01 - Data 1

- Command = 0x0C - Up

- Message = w - GET

 

To get this as simple as possible I would assume that there should be only four checks:

- on load of AdditionalDescriptors.xml - is it a correct XML file

- check if all fields sum up to defined DescriptorLength

- if value length is enough to store defined type (eg. text >= 16 bits)

- compare DescriptorLength defined in file with DescriptorLength found in stream (discard parsing of Length not equal)

 

Corectness of other data would rely on user with warning that incorrent definition would be harmful on app stability.

 

All "known" descriptors could be replacable aswell.

 

Save as XML would keep these additional definitions.

 

2. I found some situations where it could be useful to let TransEdit parse other, non-standard PID as some table. Eg. try to parse some PID as SDT.

 

On any failure there could be just an error message that an attempt failed and table seems to be not type as we tried to parse.

On success additional tree branch could be added with parsed content.

Option could be under right click on any PID with "?" stream type or Private Section" stream type, maybe on some else Data PID's, from right part of TS Analyzer window.

 

3. Are there maybe some chances to add support for extract contents of DSM-CC data/object carousels?

 

Thanks for all replies and comments ;) Please share your thoughts ;)

Edited by oleq

Share this post


Link to post
Griga

1. seems to be an interesting idea. However, what I've written here still applies. Basically TransEdit serves as development tool, particularly for getting insight in DVB data that we are dealing with. If something gets implemented it is mostly done because we need it , not because users want it. So I can't say if and when your proposals will be picked up in future.

 

2. may already be covered by Settings -> Analyzer -> Read private sections with known table IDs. It lets the Analyzer read tables on non-standard PIDs if they are listed in some PMT as private sections (stream type 0x05) and if the table ID indicates a SDT, BAT, NIT etc. It works pretty well for making additional Freesat tables on Astra 28.2° East visible:

 

Zwischenablage02.png

 

 

 

Share this post


Link to post
oleq

Thanks for reply and for looking at my ideas ;)

 

1. Fully understand ;) DVBViewer development for sure takes a lot of time, so no worries ;) I would like to say that I like TransEdit more and I've bought two DVBViewer licences explicity for TransEdit :) Beside providing help for DVBViewer development it's a great DVB exploration tool for all people that are passionate about DVB, like me :)

 

2. Thanks for explaination, I've already had this enabled, for some reason it does not recognize additional SDT table from Hot Bird 12,188 V (PID 78), but maybe there is some difference in structure and that's why TransEdit cannot parse it as SDT. At the same time it is able to find additional EIT at PID 2748 ;)

 

Best Wishes for you and whole DVBViewer team :)

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...