If you are using DTb, Andy's tool makes it incredibly easy to fix the problem with a new Profile and a new Process Condition. Here's what you do:
Profile
- Create a new Profile (I called mine "FixDuration")
- Add the RunExternal Action, with
- ProcessName = c:\{fullpath}\FixDVRMSDuration.exe
- ArgumentsContect = "%InputFile%" "%InputFile%.dvr-ms"
NOTE: Include the quotes.
- Add the FileOperation Action, with
- ContextFile = InputFile
- WhatOperation = Delete
NOTE: You could change this to a "Move" operation, which would eliminate the risk #2, below. Just create a second "Watched" folder, and drop it in there. When you have confirmed that the new file was converted properly, just delete the original through the VMC UI. If you want to get fancy, you could update the MetaData to indicate which show was the original, which would make it easier to identify in the UI. That said, this is an exercise left to the reader.
- Save the Profile
Process Condition
- Create a new Process Condition (I called mine "Incorrect Duration")
- Click the Add button, and set
- Duration
- LessThan
- 4000000000
- Save the Process Condition
- Move it to the top of the list.
That's it! When DTb sees a file of length less than 4000000000 (approximately 7 minutes), it will run it through Andy's program, save it to the Recorded TV directory, and delete the original. Because the "fixed" file is saved in the Recorded TV directory, DTb will see it as a "new" file, and add it to the queue to be processed. The "fixed" file won't be less than ~7 minutes, so it will be processed according to the rules for that show.
That said, there are two risks:
- If you intentionally record something that is less than ~7 minutes long, this will run into an infinite loop.
- REDACTED: If the "fix" fails for some reason, your original file will be deleted, and you will lose the original recording. (see note above about changing "Delete" to "Move")