|
6 | 6 | import cn.programcx.foxnaserver.dto.media.MediaInfoDTO; |
7 | 7 | import cn.programcx.foxnaserver.dto.media.SubtitleJobStatus; |
8 | 8 | import cn.programcx.foxnaserver.dto.media.SubtitleTranscodeTask; |
9 | | -import cn.programcx.foxnaserver.dto.media.TranscodeTask; |
10 | 9 | import cn.programcx.foxnaserver.entity.TranscodeJob; |
11 | 10 | import cn.programcx.foxnaserver.mapper.ResourceMapper; |
12 | 11 | import cn.programcx.foxnaserver.service.media.DecodeMediaService; |
|
32 | 31 | import org.springframework.web.bind.annotation.*; |
33 | 32 | import java.io.File; |
34 | 33 | import java.io.IOException; |
35 | | -import java.io.InputStream; |
36 | 34 | import java.nio.file.Files; |
37 | 35 | import java.nio.file.Path; |
38 | 36 | import java.time.LocalDateTime; |
|
46 | 44 | @Tag(name = "MediaServiceController", description = "提供流媒体相关的接口") |
47 | 45 | public class MediaServiceController { |
48 | 46 |
|
49 | | - private final String tempDir = System.getProperty("java.io.tmpdir") + |
| 47 | + private final String tempDir = System.getProperty("user.dir") + |
| 48 | + File.separator + "temp" + |
50 | 49 | File.separator + "foxnas" + |
51 | 50 | File.separator + "transcode"; |
52 | 51 |
|
@@ -313,7 +312,7 @@ public ResponseEntity<Map<String, String>> submit(@RequestBody TranscodeRequest |
313 | 312 | req.getAudioTrackIndex(), |
314 | 313 | req.getSubtitleTrackIndex(), |
315 | 314 | req.isImmediate(), |
316 | | - fingerprint |
| 315 | + fingerprint, req.getExpireSecs() |
317 | 316 | ); |
318 | 317 |
|
319 | 318 | boolean isReused = !job.getJobId().equals(req.getFingerprint()) && |
@@ -568,6 +567,7 @@ class TranscodeRequest { |
568 | 567 | private int subtitleTrackIndex = -1; |
569 | 568 | private boolean immediate = false; // true=立即观看(高优先级) |
570 | 569 | private String fingerprint; // 可选,如果前端已计算指纹可直接传入 |
| 570 | + private Long expireSecs = 86400L; // 缓存过期时间,默认24小时 |
571 | 571 | } |
572 | 572 |
|
573 | 573 | @Data |
|
0 commit comments