Opened 15 years ago
Closed 14 years ago
#9337 closed Bug Report (fixed)
Upnp player reports incorrect duration
| Reported by: | Owned by: | beirdo | |
|---|---|---|---|
| Priority: | minor | Milestone: | 0.25 |
| Component: | MythTV - UPnP | Version: | 0.24 |
| Severity: | medium | Keywords: | |
| Cc: | Ticket locked: | no |
Description
When playing a recording on my LG MS409D I see incorrect video duration for videos that have been transcoded when they have had a cutlist applied.
I believe this may be because the duration sent to the player, as calculated in programs/mythbackend/upnpcdstv.cpp:UPnpCDSTv::AddItem(), uses the program start and end times for its calculation, which isn't correct once a cutlist has been applied.
Change History (4)
comment:1 by , 15 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:2 by , 15 years ago
| Status: | assigned → accepted |
|---|
comment:3 by , 15 years ago
comment:4 by , 14 years ago
| Milestone: | unknown → 0.25 |
|---|---|
| Resolution: | → fixed |
| Status: | accepted → closed |
Pull duration from markups for UPnP playback
Fixes #9337
The start date and end date of the recording will be used if there is no db markup available, but if there is a MARK_DURATION_MS (type 33) markup for the recording available in the db, it will be used instead. This is updated on recording, and on seektable creation, IIRC.
Branch: master Changeset: aa5804a20d30c3bd887ac0726bec797d2651c06b

Further investigation shows that the PS3 displays an incorrect duration as well. In the video listing it shows the duration sent (which is greater than the actual duration) but when the video is played the duration is correct. It obviously gets this from the video itself.
The MS409D OTOH gets totally confused showing a duration about a third of the actual time in the listing and during running the elapsed time counter increases slowly to match the incorrect duration. The video, however, does play OK.
So, the question is, should the program start and program end database entries be updated at transode time or a new db field added to hold actual duration?