DVB-S2 Support / new DVB API

Asked by Skip D. on 2012-12-10

Hello,

I wondered if me-tv can playback DVB-S2 channels. (HD) On my own setup with Astra 19.2 it does not work, get a message, that tuning fails. Kaffeine in comparison can do that.

I investigated into the servers source code, compared with Kaffeine and w_scan code, asked the internet - to me it appears as if there is a newer version 5+ of the DVB API, and it is mandantory to use this version for DVB-S2. (It works with pairs of descriptors and values instead that parameters structure. Should be easier to support new features this way)

What would be the best way to deal with in me-tv? Changing completely to the new API is a whole lot of work, but the "cleanest" solution. Furthermore, I am not sure, if me-tv needs to know in advance if a channel is DVB-S2. This would mean, that we have to find a way to define DVB-S/DVB-S2 upon importing the channels.conf.

I would like to raise this topic also, because Pascal Noisette asked in his question form 12-09-2012 how to reenable the integrated channel-scanner. Integrating support for DVB-S2 would touch this topic also.

Hints and opinions are strongly welcome!

Thanks,

Skip

Question information

Language:
English Edit question
Status:
Answered
For:
Me TV Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Frédéric Côté (frederic-cote) said :
#1

It's probably just a matter of adding the right type of frontend. Look in
the code in file server/request_handler.cc at lines 372-443.

The type supported right now are: FE_ATSC, FE_QPSK, FE_QAM, FE_OFDM...

On Mon, Dec 10, 2012 at 11:41 AM, Skip D. <
<email address hidden>> wrote:

> New question #216421 on Me TV:
> https://answers.launchpad.net/me-tv/+question/216421
>
> Hello,
>
> I wondered if me-tv can playback DVB-S2 channels. (HD) On my own setup
> with Astra 19.2 it does not work, get a message, that tuning fails.
> Kaffeine in comparison can do that.
>
> I investigated into the servers source code, compared with Kaffeine and
> w_scan code, asked the internet - to me it appears as if there is a newer
> version 5+ of the DVB API, and it is mandantory to use this version for
> DVB-S2. (It works with pairs of descriptors and values instead that
> parameters structure. Should be easier to support new features this way)
>
> What would be the best way to deal with in me-tv? Changing completely to
> the new API is a whole lot of work, but the "cleanest" solution.
> Furthermore, I am not sure, if me-tv needs to know in advance if a channel
> is DVB-S2. This would mean, that we have to find a way to define
> DVB-S/DVB-S2 upon importing the channels.conf.
>
> I would like to raise this topic also, because Pascal Noisette asked in
> his question form 12-09-2012 how to reenable the integrated
> channel-scanner. Integrating support for DVB-S2 would touch this topic also.
>
> Hints and opinions are strongly welcome!
>
> Thanks,
>
> Skip
>
> --
> You received this question notification because you are an answer
> contact for Me TV.
>

--
"In a world without walls, who really needs Windows"
"Nothing is foolproof because fools are so ingenious"

Revision history for this message
Skip D. (good-old-skip) said :
#2

Well, I'm afraid, that newer delivery systems like DVB-S2 are not supported by the corresponding structure.

Let me cite from the API documentation:
#####
Frontend type

For historical reasons, frontend types are named by the type of modulation used in transmission. The fontend types are given by fe_type_t type, defined as:

Table 9.1. Frontend types
fe_type Description DTV_DELIVERY_SYSTEM equivalent type
FE_QPSK For DVB-S standard SYS_DVBS
FE_QAM For DVB-C annex A standard SYS_DVBC_ANNEX_A
FE_OFDM For DVB-T standard SYS_DVBT
FE_ATSC For ATSC standard (terrestrial) or for DVB-C Annex B (cable) used in US. SYS_ATSC (terrestrial) or SYS_DVBC_ANNEX_B (cable)

Newer formats like DVB-S2, ISDB-T, ISDB-S and DVB-T2 are not described at the above, as they're supported via the new FE_GET_PROPERTY/FE_GET_SET_PROPERTY ioctl's, using the DTV_DELIVERY_SYSTEM parameter.

The usage of this field is deprecated, as it doesn't report all supported standards, and will provide an incomplete information for frontends that support multiple delivery systems. Please use DTV_ENUM_DELSYS instead.
###
That's why I believe there's more to be altered "under the hood". I'm just very uncertain to what degree and how comprehensive changes would need to be.

Best regards,

Skip

Revision history for this message
Skip D. (good-old-skip) said :
#3

Hello,

here's a little update: basically it seems possible to tune to DVB-S2 channels, using the DVB API V5 - with some modifications to the server's code I could watch HD in me-tv....
I still have to figure out how to know in advance, that a DVB-S2 channel should be tuned to.
Maybe this info needs to be available upon importing channels - this links again to the topic about channel scanning, Pascal Noisett raised a few days ago.

I'll let you know if I should find out more.

Best regards,

Skip

Revision history for this message
Skip D. (good-old-skip) said :
#4

Ok,

here's where I got to in between:

I made changes mainly to dvb_frontend, dvb_transponder and channel_manager so that they use the new API.
I mentioned in my earlier posts, that one needs to know beforehand, if the channel to be tuned to is DVB-S or DVB-S2. I found a for me fitting quite dirty solution: Every time dvb_frontend::tune_to tunes to a channel, it tries to lock to an standard DVB-S channel. If this should run into a timeout, it won't give up but makes a second attempt to tune to DVB-S2. If this also fails, tuning runs finally into a timeout.
Side effect is, that tuning to HD needs two attempts and so a couple of seconds. For me this does not matter, as I do not have so many HD channels. Beside that I found out for me that whatching HD channels is not so interesting as I thought before...
I have not implemented the V5 API troughout all instances, so probably problems on various other places might occur. (Moving/deleting channels from within me-tv...) . I also cannot test on DVB-T and DBC-C.

So I made a nice interesting experiment, but right now do not see a real sense to integrate it into me-tv, as it could lead to unpredictable problems on core functions (watching TV, for example..)

That's the way it is now.

I wish you all a good start into the New Year,

regards,

Skip

Revision history for this message
Frédéric Côté (frederic-cote) said :
#5

Hi Skip,

Is there a place where I can download your code ? I'm curious about how you
did it. Maybe it will also help me understand how me-tv is working under
the hood.

Happy new year,
Fred

On Thu, Dec 27, 2012 at 7:41 AM, Skip D. <
<email address hidden>> wrote:

> Question #216421 on Me TV changed:
> https://answers.launchpad.net/me-tv/+question/216421
>
> Skip D. posted a new comment:
> Ok,
>
> here's where I got to in between:
>
> I made changes mainly to dvb_frontend, dvb_transponder and channel_manager
> so that they use the new API.
> I mentioned in my earlier posts, that one needs to know beforehand, if the
> channel to be tuned to is DVB-S or DVB-S2. I found a for me fitting quite
> dirty solution: Every time dvb_frontend::tune_to tunes to a channel, it
> tries to lock to an standard DVB-S channel. If this should run into a
> timeout, it won't give up but makes a second attempt to tune to DVB-S2. If
> this also fails, tuning runs finally into a timeout.
> Side effect is, that tuning to HD needs two attempts and so a couple of
> seconds. For me this does not matter, as I do not have so many HD channels.
> Beside that I found out for me that whatching HD channels is not so
> interesting as I thought before...
> I have not implemented the V5 API troughout all instances, so probably
> problems on various other places might occur. (Moving/deleting channels
> from within me-tv...) . I also cannot test on DVB-T and DBC-C.
>
> So I made a nice interesting experiment, but right now do not see a real
> sense to integrate it into me-tv, as it could lead to unpredictable
> problems on core functions (watching TV, for example..)
>
> That's the way it is now.
>
> I wish you all a good start into the New Year,
>
> regards,
>
> Skip
>
> --
> You received this question notification because you are an answer
> contact for Me TV.
>

--
"In a world without walls, who really needs Windows"
"Nothing is foolproof because fools are so ingenious"

Revision history for this message
Skip D. (good-old-skip) said :
#6

Hello Fred,

currently I have no own webspace to upload to, so the fast and easiest way would be just to email you the altered files.

So would you just drop me a short email so that I have your address to reply to? My address should be available here for registered users.

Regards,

Skip

Can you help with this problem?

Provide an answer of your own, or ask Skip D. for more information if necessary.

To post a message you must log in.