Difference between revisions of "Truxton exif save"
Jump to navigation
Jump to search
(Created page with "This saves the data to the <code><nowiki>[</nowiki>EXIF<nowiki>]</nowiki></code> table in the database. =Syntax= <source lang="C"> void truxton_exif_save( uint...") |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 3: | Line 3: | ||
=Syntax= | =Syntax= | ||
<source lang="C"> | <source lang="C"> | ||
| − | + | int truxton_exif_save( uint64_t exif_handle ); | |
</source> | </source> | ||
| Line 9: | Line 9: | ||
==<code>exif_handle</code>== | ==<code>exif_handle</code>== | ||
This handle comes from calling <code>[[truxton_exif_create]]()</code> or <code>[[truxton_file_create_exif]]()</code>. | This handle comes from calling <code>[[truxton_exif_create]]()</code> or <code>[[truxton_file_create_exif]]()</code>. | ||
| + | |||
| + | =Return value= | ||
| + | A non-zero value on success, zero on failure. | ||
=Sample= | =Sample= | ||
<source lang="C" highlight="53"> | <source lang="C" highlight="53"> | ||
| − | void add_exif(uint64_t truxton, uint64_t file_handle, uint8_t const * buffer, size_t buffer_size ) | + | void add_exif( uint64_t truxton, uint64_t file_handle, uint8_t const * buffer, size_t buffer_size ) |
{ | { | ||
char id[ 40 ]; | char id[ 40 ]; | ||
| Line 27: | Line 30: | ||
} | } | ||
| − | uint64_t exif_handle = truxton_create_exif(truxton); | + | uint64_t exif_handle = truxton_create_exif( truxton ); |
truxton_exif_set_gps_time( exif_handle, data.gps_time ); | truxton_exif_set_gps_time( exif_handle, data.gps_time ); | ||
| Line 64: | Line 67: | ||
truxton_exif_set_media_id( exif_handle, id ); | truxton_exif_set_media_id( exif_handle, id ); | ||
| − | truxton_exif_save( exif_handle ); | + | if ( truxton_exif_save( exif_handle ) == 0 ) |
| + | { | ||
| + | printf( "Cannot save EXIF to the database.\n" ); | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | truxton_exif_get_id( exif_handle, id, sizeof( id ) ); | ||
| − | + | printf( "EXIF ID is %s\n", id ); | |
| − | + | } | |
| − | |||
| − | |||
| − | |||
| − | truxton_exif_destroy(exif_handle); | + | truxton_exif_destroy( exif_handle ); |
} | } | ||
</source> | </source> | ||
Latest revision as of 09:13, 10 February 2021
This saves the data to the [EXIF] table in the database.
Syntax
int truxton_exif_save( uint64_t exif_handle );
Parameters
exif_handle
This handle comes from calling truxton_exif_create() or truxton_file_create_exif().
Return value
A non-zero value on success, zero on failure.
Sample
void add_exif( uint64_t truxton, uint64_t file_handle, uint8_t const * buffer, size_t buffer_size )
{
char id[ 40 ];
EXIF_PARSER parser;
parser.Initialize( buffer, buffer_size );
EXIF_DATA data;
if ( fill_exif_data( parser, data ) == 0 )
{
return;
}
uint64_t exif_handle = truxton_create_exif( truxton );
truxton_exif_set_gps_time( exif_handle, data.gps_time );
truxton_exif_set_gps_time_offset( exif_handle, data.offsets.gps_time );
truxton_exif_set_device_time( exif_handle, data.device_time );
truxton_exif_set_device_time_offset( exif_handle, data.offsets.device_time );
truxton_exif_set_latitude( exif_handle, data.latitude );
truxton_exif_set_latitude_offset( exif_handle, data.offsets.latitude );
truxton_exif_set_longitude( exif_handle, data.longitude );
truxton_exif_set_longitude_offset( exif_handle, data.offsets.longitude );
truxton_exif_set_altitude( exif_handle, data.altitude );
truxton_exif_set_altitude_offset( exif_handle, data.offsets.altitude );
truxton_exif_set_heading( exif_handle, data.heading);
truxton_exif_set_heading_offset( exif_handle, data.offsets.heading );
truxton_exif_set_focal_length( exif_handle, data.focal_length );
truxton_exif_set_focal_length_offset( exif_handle, data.offsets.focal_length );
truxton_exif_set_shutter_count( exif_handle, data.shutter_count );
truxton_exif_set_shutter_count_offset( exif_handle, data.offsets.shutter_count );
truxton_exif_set_thumbnail_offset( exif_handle, data.thumbnail_offset );
truxton_exif_set_thumbnail_offset_offset( exif_handle, data.offsets.thumbnail_offset );
truxton_exif_set_thumbnail_length( exif_handle, data.thumbnail_length );
truxton_exif_set_thumbnail_length_offset( exif_handle, data.offsets.thumbnail_length );
truxton_exif_set_make( exif_handle, data.make );
truxton_exif_set_make_offset( exif_handle, data.offsets.make );
truxton_exif_set_model( exif_handle, data.model );
truxton_exif_set_model_offset( exif_handle, data.offsets.model );
truxton_exif_set_body_serial_number( exif_handle, data.body_serial_number );
truxton_exif_set_body_serial_number_offset( exif_handle, data.offsets.body_serial_number );
truxton_exif_set_lens_serial_number( exif_handle, data.lens_serial_number );
truxton_exif_set_lens_serial_number_offset( exif_handle, data.offsets.lens_serial_number );
truxton_file_get_id( file_handle, id, sizeof( id ) );
truxton_exif_set_file_id( exif_handle, id );
truxton_file_get_media_id( file_handle, id, sizeof( id ) );
truxton_exif_set_media_id( exif_handle, id );
if ( truxton_exif_save( exif_handle ) == 0 )
{
printf( "Cannot save EXIF to the database.\n" );
}
else
{
truxton_exif_get_id( exif_handle, id, sizeof( id ) );
printf( "EXIF ID is %s\n", id );
}
truxton_exif_destroy( exif_handle );
}