public Dictionary <string, object> metaInfo()
{
ExifParser exifParser;
Dictionary <string, object> tiff, exif, gps, thumb, meta;
List <byte[]> headers = getHeaders("app1");
meta = new Dictionary <string, object>();
try
{
if (headers.Count != 0)
{
exifParser = new ExifParser();
if (exifParser.init(headers[0]))
{
tiff = exifParser.TIFF();
if (tiff != null)
{
meta.Add("tiff", tiff);
}
exif = exifParser.EXIF();
if (exif != null)
{
meta.Add("exif", exif);
}
gps = exifParser.GPS();
if (gps != null)
{
meta.Add("gps", gps);
}
thumb = getThumb(exifParser);
if (thumb != null)
{
if (!thumb.ContainsKey("keys"))
{
string[] keys = new string[thumb.Keys.Count];
thumb.Keys.CopyTo(keys, 0);
thumb.Add("keys", keys);
}
meta.Add("thumb", thumb);
}
exifParser.purge();
}
}
} catch (Exception ex) {}
return(meta);
}