On 27.12.2012 18:48, Udo Richter wrote:
Am 27.12.2012 14:43, schrieb Klaus Schmidinger:
If you want to use your "hardlink cutter" with recent versions of VDR, you could simply patch out the calls to DanglingPacketStripper.Process(), GetPendingPackets() and ptsFixer.Fix() in cCuttingThread::ProcessSequence(). There will be no fixing of timestamps and continuity counters then, but I guess you don't need that, anyway...
Its probably a bit more tricky than that, as the exact definition of editing marks has changed. (eg. two marks at same place, including the ending GOP, etc.) It needs a proper rewrite from scratch to get at least the old style back, and my time is way to limited.
I don't see why you would have to even care about this modified handling of marks. This is all taken care for in cCuttingThread::Action(), and cCuttingThread::ProcessSequence() only has to make sure the data from BeginIndex to EndIndex-1 goes into the edited version. Just take a short look at the new code. I'm sure you'll see how the fromMarks handling is now completely separated from the actual data handling.
A pragmatic quick-hack I've thought of was to set up a recording command that launches an old VDR version's command line editing call. It also handles editing marks the old style though.
Whatever suits you best. I was just trying to give some pointers.
Klaus