diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2009-02-11 12:52:48 +0100 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2009-02-11 12:52:48 +0100 |
| commit | bbfcb7ea1f040d030277e2b6f2efa9ea0967bf2b (patch) | |
| tree | c5945c791698c14723e989449e6b4bfcc275c05d /lib/gdi/picexif.cpp | |
| parent | 4f7990ff2a55874b9eb65e3c9cd47dacb9f76deb (diff) | |
| parent | 5e6f814d005a01caa437a532e61f4b338617ff67 (diff) | |
| download | enigma2-bbfcb7ea1f040d030277e2b6f2efa9ea0967bf2b.tar.gz enigma2-bbfcb7ea1f040d030277e2b6f2efa9ea0967bf2b.zip | |
Merge branch 'master' of /home/tmbinc/enigma2-git into tmbinc/FixTimingBugs
Conflicts:
lib/dvb/decoder.cpp
Diffstat (limited to 'lib/gdi/picexif.cpp')
| -rw-r--r-- | lib/gdi/picexif.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/gdi/picexif.cpp b/lib/gdi/picexif.cpp index 844673ce..f9e8055f 100644 --- a/lib/gdi/picexif.cpp +++ b/lib/gdi/picexif.cpp @@ -75,7 +75,6 @@ Cexif::Cexif() Cexif::~Cexif() { - //ClearExif(); } void Cexif::ClearExif() @@ -89,7 +88,7 @@ void Cexif::ClearExif() } } -bool Cexif::DecodeExif(const char *filename) +bool Cexif::DecodeExif(const char *filename, int Thumb) { FILE * hFile = fopen(filename, "r"); if(!hFile) return false; @@ -98,6 +97,7 @@ bool Cexif::DecodeExif(const char *filename) m_exifinfo = new EXIFINFO; memset(m_exifinfo,0,sizeof(EXIFINFO)); freeinfo = true; + m_exifinfo->Thumnailstate = Thumb; m_szLastError[0]='\0'; ExifImageWidth = MotorolaOrder = SectionsRead=0; @@ -555,12 +555,16 @@ bool Cexif::ProcessExifDir(unsigned char * DirStart, unsigned char * OffsetBase, ProcessExifDir(SubdirStart, OffsetBase, ExifLength, m_exifinfo, LastExifRefdP); } - if (ThumbnailSize && ThumbnailOffset) + if (ThumbnailSize && ThumbnailOffset && m_exifinfo->Thumnailstate) { if (ThumbnailSize + ThumbnailOffset <= ExifLength) { - m_exifinfo->ThumbnailPointer = OffsetBase + ThumbnailOffset; - m_exifinfo->ThumbnailSize = ThumbnailSize; + if(FILE *tf = fopen(THUMBNAILTMPFILE, "w")) + { + fwrite( OffsetBase + ThumbnailOffset, ThumbnailSize, 1, tf); + fclose(tf); + m_exifinfo->Thumnailstate = 2; + } } } |
