Skip to content

Instantly share code, notes, and snippets.

@johnmurrayvi
Created July 25, 2014 18:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save johnmurrayvi/3499f3ea3a4233bfdef8 to your computer and use it in GitHub Desktop.
Save johnmurrayvi/3499f3ea3a4233bfdef8 to your computer and use it in GitHub Desktop.
poti bug 22958, attachment 17786 - encoding in unsynchronizedlyricsframe.cpp
Index: taglib/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp
===================================================================
--- taglib/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp (revision 11368)
+++ taglib/taglib/mpeg/id3v2/frames/unsynchronizedlyricsframe.cpp (working copy)
@@ -23,16 +23,17 @@
* Alternatively, this file is available under the Mozilla Public *
* License Version 1.1. You may obtain a copy of the License at *
* http://www.mozilla.org/MPL/ *
***************************************************************************/
#include "unsynchronizedlyricsframe.h"
#include <tbytevectorlist.h>
#include <tdebug.h>
+#include <tstringlist.h>
using namespace TagLib;
using namespace ID3v2;
class UnsynchronizedLyricsFrame::UnsynchronizedLyricsFramePrivate
{
public:
UnsynchronizedLyricsFramePrivate() : textEncoding(String::Latin1) {}
@@ -136,21 +137,26 @@ void UnsynchronizedLyricsFrame::parseFie
d->text = String(l.back(), d->textEncoding);
}
}
ByteVector UnsynchronizedLyricsFrame::renderFields() const
{
ByteVector v;
- v.append(char(d->textEncoding));
+ String::Type encoding = d->textEncoding;
+
+ encoding = checkEncoding(d->description, encoding);
+ encoding = checkEncoding(d->text, encoding);
+
+ v.append(char(encoding));
v.append(d->language.size() == 3 ? d->language : "XXX");
- v.append(d->description.data(d->textEncoding));
- v.append(textDelimiter(d->textEncoding));
- v.append(d->text.data(d->textEncoding));
+ v.append(d->description.data(encoding));
+ v.append(textDelimiter(encoding));
+ v.append(d->text.data(encoding));
return v;
}
////////////////////////////////////////////////////////////////////////////////
// private members
////////////////////////////////////////////////////////////////////////////////
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment