Opened 11 years ago

Closed 11 years ago

#4471 closed patch (fixed)

Glitches in multirec using DVB-S

Reported by: alannisota@… Owned by: Janne Grunau
Priority: minor Milestone: 0.21
Component: dvb Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

I get glitches on a recording/LiveTV when switching channels (on the same transponder) using multirec. I traced the problem to this in dvbchannel.cpp:

    if (is_dvbs)
    {
        // make sure we tune to frequency, no matter what happens..
        reset = first_tune = true;

Which causes FE_SET_FRONTEND to be called even when not switching transponders. This causes a momentary glitch in the stream using my card. What is the reason for this code, and can we change/remove it?

Attachments (3)

t4473.diff (607 bytes) - added by Janne Grunau 11 years ago.
t4473_v2.diff (800 bytes) - added by Janne Grunau 11 years ago.
t4473_v3.diff (2.0 KB) - added by Janne Grunau 11 years ago.

Download all attachments as: .zip

Change History (13)

comment:1 Changed 11 years ago by Janne Grunau

Component: mythtvdvb
Milestone: unknown0.21
Owner: changed from Isaac Richards to danielk
Version: unknownhead

code was added in [10493] to make retuning work

I'll comment it until we find a proper solution.

Changed 11 years ago by Janne Grunau

Attachment: t4473.diff added

comment:2 Changed 11 years ago by Janne Grunau

t4473.diff should work too. It is forcing only a reset if the card is not locked.

comment:3 Changed 11 years ago by Janne Grunau

If someone on irc remembered correctly the forced retune is needed for

Two satellites with the same transponder frequencies. Dish rotates, but no lock, ISTR.

in that case the patch won't help.

comment:4 Changed 11 years ago by alannisota@…

the fix that was committed in #15441 works fine for me so far. If the problem is with rotors or switches and retuning to the same transponder, the fix would be to force a reset whenever a switch/rotor command is issued. I'll try out t4473 in the meantime.

Changed 11 years ago by Janne Grunau

Attachment: t4473_v2.diff added

comment:5 Changed 11 years ago by Janne Grunau

Type: defectpatch

yes, I was working on that. please try t4473_v2.diff

comment:6 Changed 11 years ago by danielk

The reason for the re-tune is because we temporarily raise the voltage to 17V when rotating a rotor with DiSEqC. Janne's second patch should be the fix the glitches without causing the H/V setting to be incorrect after a rotation of the dish.

comment:7 Changed 11 years ago by Janne Grunau

no, as Shane pointed out on irc it won't work since the slave calling the master Tune() with same_input == false.

Changed 11 years ago by Janne Grunau

Attachment: t4473_v3.diff added

comment:8 Changed 11 years ago by Janne Grunau

Owner: changed from danielk to Janne Grunau
Status: newaccepted

t4473_v3.diff caches the lnb device id and enforces retuning only if it changed.

comment:9 Changed 11 years ago by alannisota@…

v3 seems to work for me as well.

comment:10 Changed 11 years ago by Janne Grunau

Resolution: fixed
Status: acceptedclosed

(In [15460]) Fixes #4471, Refs #4477. Force a retune only if the LNB device id has changed.

fixes glitches in recordings when a second virtual DVB tuner changes the channel in the multiplex

Note: See TracTickets for help on using tickets.