From: SourceForge.net <no...@so...> - 2008-01-04 06:12:27
|
Bugs item #1861450, was opened at 2007-12-31 12:35 Message generated for change (Comment added) made by darryl_oneill You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100290&aid=1861450&group_id=290 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Open Resolution: Fixed Priority: 5 Private: No Submitted By: Darryl O'Neill (darryl_oneill) Assigned to: Nobody/Anonymous (nobody) Summary: TLEN tag fixed on encode from stdin with ID3v2 tags Initial Comment: Every file that encodes has the mp3 TLEN tag set to 97391548 this is 97391.548 seconds or 27 hours, 3 minutes and 11.548 seconds. Windows Media player rounds this up and shows 27:03:12. The duration tab in Windows explorer rounds down and wraps the hours past 24 to 3 so it shows 3:03:11. This occurs if you encode from stdin with the --add-id3v2 option or if the title is greater than 30 characters which forces a ID3v2 tag. If you encode from a file it seems to be correct. I am using MediaCoder which encodes MP3 from stdin. ---------------------------------------------------------------------- >Comment By: Darryl O'Neill (darryl_oneill) Date: 2008-01-04 01:12 Message: Logged In: YES user_id=1970830 Originator: YES I got the code compiled and it seems to work. Thanks ---------------------------------------------------------------------- Comment By: Robert Hegemann (robert) Date: 2008-01-02 15:36 Message: Logged In: YES user_id=1106 Originator: NO There is a fix for this issue in cvs main branch now. Note, if you feed raw PCM via stdin into LAME and do some advanced VBR encoding, then Windows will likely show the wrong duration, because it either reads the TLEN tag info--which isn't there in this case--or does some ugly hack which works for CBR only. Feeding normal WAVE/AIFF files via stdin does work OK. ---------------------------------------------------------------------- Comment By: Darryl O'Neill (darryl_oneill) Date: 2008-01-02 13:55 Message: Logged In: YES user_id=1970830 Originator: YES Sorry. I should have provided that to begin with. I am using Lame 3.98 Beta 6. ---------------------------------------------------------------------- Comment By: Robert Hegemann (robert) Date: 2008-01-02 11:25 Message: Logged In: YES user_id=1106 Originator: NO Sorry, I haven't asked before: What LAME version are you using? ---------------------------------------------------------------------- Comment By: Darryl O'Neill (darryl_oneill) Date: 2008-01-02 10:59 Message: Logged In: YES user_id=1970830 Originator: YES MediaCoder writes raw PCM to stdin. I modified the mp3 file with a hex editor and renamed the TLEN tag. After saving Windows Explorer and Windows Media Player get the correct duration. Would it be possible to omit the TLEN tag if the length is unknown. I think that this would fix the problem. ---------------------------------------------------------------------- Comment By: Robert Hegemann (robert) Date: 2008-01-02 08:35 Message: Logged In: YES user_id=1106 Originator: NO Hey Darryl, does MediaCoder write a Wave file or raw PCM? The ID3v2 tag will be written infront of the mp3. At this time, LAME does not know how long the audio file will be, it looks into the WAVE header and takes whatever it finds there. In case of raw PCM data, there is not such information available and LAME can't write a correct TLEN info. LAME would have to overwrite the ID3v2 after encoding, which it can't do in case LAME should write to stdout. Ciao Robert ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100290&aid=1861450&group_id=290 |