[mythtv] Problems recording from two channels in a multiplex

William Uther willu.mailingLists at cse.unsw.edu.au
Sat Nov 6 09:25:49 UTC 2010


Hi,
  I've been having problems recording from two channels in a multiplex since that capability was first introduced.  To be clear - some recordings work, but others don't.  I've recently asked on the users mailing list, but noone there seems to be able to help.  I'm looking to debug it, but would like some help with the code, please :).

First some setup info:

I am running 0.23.0+fixes from ubuntu 10.04.  I have two DVB-T tuners.  Each is set up to record up to two programs if they're on the same multiplex.  This gives me four cardids, 1 and 2 are on adaptor0 and 3 and 4 are on adaptor1.

Channels ABC1 and ABC2 are on the same multiplex.

First, here is a schedule that works:

 6:58-7:45pm Big Bang Theory on Go!       (note pre-roll and post roll for a 30 min show)
 7:30-8:25pm Big Bang Theory on Go!

These can be scheduled on cardids 1 and 2 and everything will record fine.  So it seems to be fine if it is recording the same channel from the multiplex on two cardids.

And here is a schedule that doesn't work:

 7:00-7:30pm ABC News (that's Australian ABC, not US ABC :) on ABC1
 7:15-7:35pm Daily Show on ABC2
 7:30-8:00pm The 7:30 Report on ABC1
 7:35-8:00pm Colbert Report on ABC2

This is normally scheduled with the ABC1 shows being recorded by cardid 1 and the ABC2 shows by cardid 2.  i.e. all four shows are actually being recorded on the same DVB-T adaptor.

This fails - when a show starts recording on the other card, the show currently recording gets stopped prematurely.  i.e. I end up getting this:

 7:00-7:15pm ABC News on ABC1
 7:15-7:30pm Daily Show on ABC2
 7:30-7:35pm The 7:30 Report on ABC1
 7:35-8:00pm Colbert Report on ABC2

If I turn on the 'record' logging then I see:

2010-11-05 19:15:02.713 TVRec(1): StartRecording(The Daily Show with Jon Stewart)
2010-11-05 19:15:02.811 TVRec(1): Checking input group recorders - begin
2010-11-05 19:15:02.924 TVRec(1): Attempting to stop card 2 in state RecordingOnly
2010-11-05 19:15:03.033 TVRec(2): Changing from RecordingOnly to None
2010-11-05 19:15:03.144 TVRec(2): ClearFlags(FrontendReady,CancelNextRecording,) -> RunMainLoop,RecorderRunning,RingBufferReady,
2010-11-05 19:15:03.354 TVRec(2): Request: Program(no) channel() input() flags(CloseRec,KillRingBuffer,)
2010-11-05 19:15:03.465 ProgramInfo(): Updated pathname '':'' -> '1203_20101105185800.mpg'
2010-11-05 19:15:03.587 TVRec(2): FinishedRecording(ABC News) in recgroup: Default
2010-11-05 19:15:03.645 Finished recording ABC News: channel 1203
2010-11-05 19:15:03.733 scheduler: Finished recording: ABC News: channel 1203

So you can see that starting to record on cardid1 has caused cardid2 to stop.  This is happening in TVRec::StartRecording() about line 586 of tv_rec.cpp.  According to my channel table, ABC1 and ABC2 have the same multiplex id, but different service ids.  All my cards have the same source id.

Does anyone have any idea what might be going wrong?

Will      :-}



More information about the mythtv-dev mailing list