View Issue Details

IDProjectCategoryView StatusLast Update
0004174JEDI VCL00 JVCL Componentspublic2007-10-12 06:57
ReporterXireAssigned Toobones 
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version3.32 
Target VersionFixed in Version3.34 
Summary0004174: TJvID3V2.Frames.Assign fails when source has multiple PRIV frames (fix included)
DescriptionHi,
I tried to assign frames from one TJvID3V2 to other TJvID3V2. This failed when source had multiple PRIV frames (I got error that TAG already contains PRIV frame). I checked code and only MCDI tag was not allowed to be several times in tag.

I added fix to JvID3v2Base.pas and now it works. Here's the fix:
I added this part ({ EA 10.07.2007 added fix } AFrameID <> fiCDID)


class function TJvID3BinaryFrame.CanAddFrame(AController: TJvID3Controller;
  AFrameID: TJvID3FrameID): Boolean;
begin
  { There may only be one 'MCDI' frame in each tag. }
  Result := ((AFrameID = fiCDID) and not AController.HasFrame(fiCDID)) or
    ({ EA 10.07.2007 added fix } AFrameID <> fiCDID)
or inherited CanAddFrame(AController, AFrameID);
end;

I attached modified JvID3v2Base.pas as well.
TagsNo tags attached.

Activities

2007-07-10 13:20

 

JvID3v2Base.pas (277,880 bytes)

obones

2007-10-12 06:56

administrator   ~0013920

Thanks, this is now in SVN

Issue History

Date Modified Username Field Change
2007-07-10 13:20 Xire New Issue
2007-07-10 13:20 Xire File Added: JvID3v2Base.pas
2007-10-12 06:56 obones Status new => resolved
2007-10-12 06:56 obones Fixed in Version => Daily / SVN
2007-10-12 06:56 obones Resolution open => fixed
2007-10-12 06:56 obones Assigned To => obones
2007-10-12 06:56 obones Note Added: 0013920