| Anonymous | Login | Signup for a new account | 2025-10-29 08:37 CET | ![]() |
| My View | View Issues | Change Log | Roadmap | My Account |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||
| 0000122 | Emotion Mediaplayer | [All Projects] Bug | public | 2022-01-27 12:11 | 2022-05-20 12:56 | ||||
| Reporter | Goos McGuile | ||||||||
| Assigned To | Goos McGuile | ||||||||
| Priority | normal | Severity | minor | Reproducibility | always | ||||
| Status | resolved | Resolution | fixed | ||||||
| Platform | All Platforms | OS | - | OS Version | - | ||||
| Product Version | 1.10 | ||||||||
| Target Version | 1.10 | Fixed in Version | |||||||
| Summary | 0000122: avformat seek workaround | ||||||||
| Description | /* if seeking requested, we execute it */ if (o->start_time != AV_NOPTS_VALUE) { - ret = avformat_seek_file(ic, -1, INT64_MIN, timestamp, timestamp, 0); + int64_t seek_timestamp = timestamp; + + if (!(ic->iformat->flags & AVFMT_SEEK_TO_PTS)) { + int dts_heuristic = 0; + for (i=0; i<ic->nb_streams; i++) { + AVCodecContext *avctx = ic->streams[i]->codec; + if (avctx->has_b_frames) + dts_heuristic = 1; + } + if (dts_heuristic) { + seek_timestamp -= 3*AV_TIME_BASE / 23; + } + } + ret = avformat_seek_file(ic, -1, INT64_MIN, seek_timestamp, seek_timestamp, 0); if (ret < 0) { av_log(NULL, AV_LOG_WARNING, "%s: could not seek to position %0.3f\n", filename, (double)timestamp / AV_TIME_BASE); | ||||||||
| Tags | No tags attached. | ||||||||
| Attached Files | |||||||||
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2022-01-27 12:11 | Goos McGuile | New Issue | |
| 2022-01-27 12:11 | Goos McGuile | Status | new => assigned |
| 2022-01-27 12:11 | Goos McGuile | Assigned To | => Goos McGuile |
| 2022-05-20 12:56 | Goos McGuile | Status | assigned => resolved |
| 2022-05-20 12:56 | Goos McGuile | Resolution | open => fixed |
| Copyright © 2000 - 2025 MantisBT Team |