| 1 | Index: programs/mythtranscode/main.cpp |
|---|
| 2 | =================================================================== |
|---|
| 3 | --- programs/mythtranscode/main.cpp (revision 17451) |
|---|
| 4 | +++ programs/mythtranscode/main.cpp (working copy) |
|---|
| 5 | @@ -69,7 +69,7 @@ |
|---|
| 6 | |
|---|
| 7 | int main(int argc, char *argv[]) |
|---|
| 8 | { |
|---|
| 9 | - QString chanid, starttime, infile, outfile; |
|---|
| 10 | + QString chanid, starttime, infile, outfile, out_map_file; |
|---|
| 11 | QString profilename = QString("autodetect"); |
|---|
| 12 | QString fifodir = NULL; |
|---|
| 13 | int jobID = -1; |
|---|
| 14 | @@ -92,6 +92,7 @@ |
|---|
| 15 | int found_chanid = 0; |
|---|
| 16 | int found_infile = 0; |
|---|
| 17 | int update_index = 1; |
|---|
| 18 | + int create_mapfile = 0; |
|---|
| 19 | int isVideo = 0; |
|---|
| 20 | |
|---|
| 21 | for (int argpos = 1; argpos < a.argc(); ++argpos) |
|---|
| 22 | @@ -169,6 +170,7 @@ |
|---|
| 23 | (a.argv()[argpos+1][0] != '-' || a.argv()[argpos+1][1] == 0x0)) |
|---|
| 24 | { |
|---|
| 25 | outfile = a.argv()[argpos + 1]; |
|---|
| 26 | + out_map_file = outfile + QString(".map"); |
|---|
| 27 | update_index = 0; |
|---|
| 28 | ++argpos; |
|---|
| 29 | } |
|---|
| 30 | @@ -539,8 +541,15 @@ |
|---|
| 31 | return TRANSCODE_EXIT_REMOTE_FILE; |
|---|
| 32 | } |
|---|
| 33 | |
|---|
| 34 | - if (outfile.isNull()) |
|---|
| 35 | - outfile = infile + ".tmp"; |
|---|
| 36 | + // Only allow creation of file "title.tmp" if options permit |
|---|
| 37 | + VERBOSE(VB_IMPORTANT, QString("Test 2.")); |
|---|
| 38 | + if (outfile.isNull() && !(isVideo && build_index && mpeg2 ) ) |
|---|
| 39 | + outfile = infile + ".tmp"; |
|---|
| 40 | + // Cancel the ".tmp" file if it will be empty |
|---|
| 41 | + // VERBOSE(VB_IMPORTANT, QString("Using out_map_file is '%1'") |
|---|
| 42 | + // .arg(out_map_file)); |
|---|
| 43 | + if (!outfile.isNull() && isVideo && build_index && mpeg2 ) |
|---|
| 44 | + outfile[0] = NULL; |
|---|
| 45 | |
|---|
| 46 | if (jobID >= 0) |
|---|
| 47 | JobQueue::ChangeJobStatus(jobID, JOB_RUNNING); |
|---|
| 48 | @@ -577,10 +586,12 @@ |
|---|
| 49 | update_func = &UpdateJobQueue; |
|---|
| 50 | check_func = &CheckJobQueue; |
|---|
| 51 | } |
|---|
| 52 | + |
|---|
| 53 | MPEG2fixup *m2f = new MPEG2fixup(infile.ascii(), outfile.ascii(), |
|---|
| 54 | &deleteMap, NULL, false, false, 20, |
|---|
| 55 | showprogress, otype, update_func, |
|---|
| 56 | check_func); |
|---|
| 57 | + |
|---|
| 58 | if (build_index) |
|---|
| 59 | { |
|---|
| 60 | int err = BuildKeyframeIndex(m2f, infile, posMap, jobID); |
|---|
| 61 | @@ -589,7 +600,7 @@ |
|---|
| 62 | if (update_index) |
|---|
| 63 | UpdatePositionMap(posMap, NULL, pginfo); |
|---|
| 64 | else |
|---|
| 65 | - UpdatePositionMap(posMap, outfile + QString(".map"), pginfo); |
|---|
| 66 | + UpdatePositionMap(posMap, out_map_file , pginfo); |
|---|
| 67 | } |
|---|
| 68 | else |
|---|
| 69 | { |
|---|
| 70 | @@ -602,8 +613,7 @@ |
|---|
| 71 | if (update_index) |
|---|
| 72 | UpdatePositionMap(posMap, NULL, pginfo); |
|---|
| 73 | else |
|---|
| 74 | - UpdatePositionMap(posMap, outfile + QString(".map"), |
|---|
| 75 | - pginfo); |
|---|
| 76 | + UpdatePositionMap(posMap, out_map_file , pginfo); |
|---|
| 77 | } |
|---|
| 78 | } |
|---|
| 79 | } |
|---|