Index: lib/Audio/WMA.pm =================================================================== --- lib/Audio/WMA.pm (revision 10200) +++ lib/Audio/WMA.pm (working copy) @@ -232,8 +232,8 @@ print "nextObjectSize: [" . $nextObjectSize . "]\n"; print "\n"; } - - if (defined($nextObjectGUIDName)) { + + if (defined($nextObjectGUIDName)) { # start the different header types parsing if ($nextObjectGUIDName eq 'ASF_File_Properties_Object') { @@ -249,7 +249,7 @@ } if ($nextObjectGUIDName eq 'ASF_Content_Encryption_Object' || - $nextObjectGUIDName eq 'ASF_Extended_Content_Encryption_Object') { + $nextObjectGUIDName eq 'ASF_Extended_Content_Encryption_Object') { $self->_parseASFContentEncryptionObject(); next; @@ -477,7 +477,7 @@ print "\timage_desc = $image_desc\n"; print "\n"; } - } + } $ext{'content'}->{$id} = { 'name' => $name, @@ -715,8 +715,8 @@ } # We only handle this object type for now. - if ($nextObjectName eq 'ASF_Metadata_Library_Object' || - $nextObjectName eq 'ASF_Metadata_Object') { + if ($nextObjectName eq 'ASF_Metadata_Library_Object' || + $nextObjectName eq 'ASF_Metadata_Object') { my $content_count = unpack('v', $self->_readAndIncrementInlineOffset($WORD)); @@ -741,6 +741,14 @@ my $name = _denull($self->_readAndIncrementInlineOffset($name_length)); my $value = $self->_bytesToValue($data_type, $self->_readAndIncrementInlineOffset($data_length)); + if ($name eq 'WM/Picture') { + + $value = { + 'TYPE' => 'image/jpg', + 'DATA' => $value, + }; + } + $ext{'content'}->{$id}->{'name'} = $name; $ext{'content'}->{$id}->{'value'} = $value;