On 14/11/2010 15:15, Udo Richter wrote:

In your case, as Klaus already wrote, it may have something to do with
the fact that VDR wants to start the recording with an I-frame, and
probably can't find one.

Some patches have been posted suggesting that replacing in remux.c

 independentFrame = ((Data[i + 2] >> 3) & 0x07) == 1;

which, as I read the bit definition is correct in doc


For further info:
Frame type = 000 forbidden
Frame type = 001 intra-coded (I) - iframe
Frame type = 010 predictive-coded (P) - p frame
Frame type = 011 bidirectionally-predictive-coded (B) - b frame
Frame type = 100 shall not be used(dc intra-coded (D) in ISO/IEC11172-2)
Frame type = 101 reserved
Frame type = 110 reserved
Frame type = 111 reserved

by something equivalent to

independentFrame = ((Data[i + 2] >> 3) & 0x6 == 0

saying basically that what is not a P frame, a D frame or B frame sould be an I-frame. I haven't yet tested it myself although I have a channel that I can play but not record.

Klaus says that the above code is not correct according t specs but failed to explain how we could get other values than 1, 2, 3, 4

-- eric

-- eric

vdr mailing list

Reply via email to