Bug 227927

Summary: K3b assigns wrong metadata to encoded files
Product: [Applications] k3b Reporter: Alvise <public>
Component: generalAssignee: Sebastian Trueg <trueg>
Status: RESOLVED FIXED    
Severity: normal CC: info, michalm, panzersturm
Priority: NOR    
Version: 1.70.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:

Description Alvise 2010-02-21 12:37:44 UTC
Version:           1.70.0 (using KDE 4.4.0)
OS:                Linux
Installed from:    openSUSE RPMs

I use lame plugin for encoding music to mp3.

The process goes OK. However, When checking the mp3 metadata with vlc or amarok, I see that everything is messed:

Song#n Has the metadata of Song#n-1 and Song#1 has no metadata at all.
Comment 1 Michał Małek 2010-02-22 22:02:38 UTC
SVN commit 1094486 by mmalek:

Fixed mixed-up metadata for files created with external encoder.
This was caused by the fact that AudioEncoder::setMetaData() might be only called after creating the file.
This is fine (and logical) for internal encoders but for external one we have to know the metadata before creating the file (since we pass them to the command line).
I refactored this a bit. Now all metadata is passed to openFile() method using QHash container. Metadata is then passed to initEncoderInternal() method.
This way all use cases are satisfied and design is even clearer than before (we don't risk setMetaData() method will be called before openFile()).
BUG: 227927

 M  +5 -4      ChangeLog  
 M  +8 -21     libk3b/plugin/k3baudioencoder.cpp  
 M  +25 -28    libk3b/plugin/k3baudioencoder.h  
 M  +20 -64    plugins/encoder/external/k3bexternalencoder.cpp  
 M  +3 -3      plugins/encoder/external/k3bexternalencoder.h  
 M  +45 -51    plugins/encoder/lame/k3blameencoder.cpp  
 M  +4 -5      plugins/encoder/lame/k3blameencoder.h  
 M  +40 -43    plugins/encoder/ogg/k3boggvorbisencoder.cpp  
 M  +8 -9      plugins/encoder/ogg/k3boggvorbisencoder.h  
 M  +1 -7      plugins/encoder/skeleton.cpp  
 M  +1 -2      plugins/encoder/skeleton.h  
 M  +9 -15     plugins/encoder/sox/k3bsoxencoder.cpp  
 M  +3 -3      plugins/encoder/sox/k3bsoxencoder.h  
 M  +19 -19    src/rip/k3baudioprojectconvertingjob.cpp  
 M  +20 -20    src/rip/k3baudioripjob.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1094486
Comment 2 Michał Małek 2010-03-06 15:12:23 UTC
*** Bug 229633 has been marked as a duplicate of this bug. ***
Comment 3 Michał Małek 2010-03-29 20:48:42 UTC
*** Bug 232609 has been marked as a duplicate of this bug. ***