From: Gustavo Sverzut Barbieri Date: Tue, 10 Sep 2013 14:28:53 +0000 (-0300) Subject: video: add missing fields (container, sampling_rate) X-Git-Tag: accepted/tizen/generic/20140106.140339~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=803f36f7f7c760884721855c404ec8d9ea1ac8d7;p=platform%2Fupstream%2Flightmediascanner.git video: add missing fields (container, sampling_rate) We must remember the video file container and the audio stream sampling_rate. --- diff --git a/src/lib/lightmediascanner_db.h b/src/lib/lightmediascanner_db.h index 0459171..93f54e7 100644 --- a/src/lib/lightmediascanner_db.h +++ b/src/lib/lightmediascanner_db.h @@ -136,6 +136,7 @@ extern "C" { }; struct lms_stream_audio_info { + unsigned int sampling_rate; unsigned int bitrate; uint8_t channels; }; @@ -156,6 +157,7 @@ extern "C" { int64_t id; struct lms_string_size title; struct lms_string_size artist; + struct lms_string_size container; struct lms_string_size dlna_profile; struct lms_string_size dlna_mime; unsigned int length; diff --git a/src/lib/lightmediascanner_db_video.c b/src/lib/lightmediascanner_db_video.c index 06cd8a5..c985292 100644 --- a/src/lib/lightmediascanner_db_video.c +++ b/src/lib/lightmediascanner_db_video.c @@ -113,6 +113,7 @@ _db_table_updater_videos_2(sqlite3 *db, const char *table, r = sqlite3_exec( db, "BEGIN TRANSACTION;" + "ALTER TABLE videos ADD COLUMN container TEXT DEFAULT NULL;" "ALTER TABLE videos ADD COLUMN dlna_profile TEXT DEFAULT NULL;" "ALTER TABLE videos ADD COLUMN dlna_mime TEXT DEFAULT NULL;" "COMMIT;", @@ -163,6 +164,7 @@ _db_table_updater_videos_2(sqlite3 *db, const char *table, "codec TEXT, " "lang TEXT, " "channels INTEGER, " + "sampling_rate INTEGER, " "bitrate INTEGER)", NULL, NULL, &errmsg); if (r != SQLITE_OK) { @@ -322,8 +324,8 @@ lms_db_video_start(lms_db_video_t *ldv) ldv->insert = lms_db_compile_stmt(ldv->db, "INSERT OR REPLACE INTO videos (id, title, artist, length, " - "dlna_profile, dlna_mime) " - "VALUES (?, ?, ?, ?, ?, ?)"); + "container, dlna_profile, dlna_mime) " + "VALUES (?, ?, ?, ?, ?, ?, ?)"); if (!ldv->insert) return -2; @@ -337,8 +339,8 @@ lms_db_video_start(lms_db_video_t *ldv) ldv->insert_audio_streams = lms_db_compile_stmt( ldv->db, "INSERT OR REPLACE INTO videos_audios (" - "video_id, stream_id, codec, lang, channels, bitrate) VALUES (" - "?, ?, ?, ?, ?, ?)"); + "video_id, stream_id, codec, lang, channels, sampling_rate, bitrate) " + "VALUES (?, ?, ?, ?, ?, ?, ?)"); if (!ldv->insert_audio_streams) return -1; @@ -444,6 +446,7 @@ _db_insert_stream_audio(lms_db_video_t *ldv, int64_t video_id, lms_db_bind_text(stmt, ++col, s->codec.str, s->codec.len) || lms_db_bind_text(stmt, ++col, s->lang.str, s->lang.len) || lms_db_bind_int(stmt, ++col, s->audio.channels) || + lms_db_bind_int(stmt, ++col, s->audio.sampling_rate) || lms_db_bind_int(stmt, ++col, s->audio.bitrate)) { fprintf(stderr, "ERROR: Failed to bind value to column %d\n", col); ret = -1; @@ -529,12 +532,17 @@ _db_insert(lms_db_video_t *ldv, const struct lms_video_info *info) if (ret != 0) goto done; - ret = lms_db_bind_text(stmt, 5, info->dlna_profile.str, + ret = lms_db_bind_text(stmt, 5, info->container.str, + info->container.len); + if (ret != 0) + goto done; + + ret = lms_db_bind_text(stmt, 6, info->dlna_profile.str, info->dlna_profile.len); if (ret != 0) goto done; - ret = lms_db_bind_text(stmt, 6, info->dlna_mime.str, info->dlna_mime.len); + ret = lms_db_bind_text(stmt, 7, info->dlna_mime.str, info->dlna_mime.len); if (ret != 0) goto done;