2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 #include <media_info_private.h>
19 #include <media_util_private.h>
20 #include <media_pvr.h>
23 int media_pvr_get_media_count_from_db(filter_h filter, int *media_count)
25 int ret = MEDIA_CONTENT_ERROR_NONE;
28 ret = _media_db_get_group_item_count(NULL, filter, MEDIA_GROUP_PVR, media_count);
30 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
31 return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
37 int media_pvr_foreach_media_from_db(filter_h filter, media_pvr_cb callback, void *user_data)
39 int ret = MEDIA_CONTENT_ERROR_NONE;
41 if (callback != NULL) {
42 ret = _media_db_get_pvr(filter, callback, user_data);
44 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
45 return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
51 int media_pvr_destroy(media_pvr_h pvr)
53 int ret = MEDIA_CONTENT_ERROR_NONE;
54 media_pvr_s *_pvr = (media_pvr_s*)pvr;
56 SAFE_FREE(_pvr->media_id);
57 SAFE_FREE(_pvr->storage_id);
58 SAFE_FREE(_pvr->channel_name);
59 SAFE_FREE(_pvr->channel_num);
60 SAFE_FREE(_pvr->program_title);
61 SAFE_FREE(_pvr->program_crid);
62 SAFE_FREE(_pvr->guidance);
63 SAFE_FREE(_pvr->synopsis);
64 SAFE_FREE(_pvr->genre);
65 SAFE_FREE(_pvr->language);
66 SAFE_FREE(_pvr->path);
67 SAFE_FREE(_pvr->modified_month);
68 SAFE_FREE(_pvr->private_data);
71 ret = MEDIA_CONTENT_ERROR_NONE;
73 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
74 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
80 int media_pvr_clone(media_pvr_h *dst, media_pvr_h src)
82 int ret = MEDIA_CONTENT_ERROR_NONE;
83 media_pvr_s *_src = (media_pvr_s*)src;
86 media_pvr_s *_dst = (media_pvr_s*)calloc(1, sizeof(media_pvr_s));
88 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
89 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
92 if (STRING_VALID(_src->media_id)) {
93 _dst->media_id = strdup(_src->media_id);
94 if (_dst->media_id == NULL) {
95 media_pvr_destroy((media_pvr_h)_dst);
96 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
97 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
101 if (STRING_VALID(_src->channel_name)) {
102 _dst->channel_name = strdup(_src->channel_name);
103 if (_dst->channel_name == NULL) {
104 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
105 media_pvr_destroy((media_pvr_h)_dst);
106 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
110 if (STRING_VALID(_src->channel_num)) {
111 _dst->channel_num = strdup(_src->channel_num);
112 if (_dst->channel_num == NULL) {
113 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
114 media_pvr_destroy((media_pvr_h)_dst);
115 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
119 if (STRING_VALID(_src->program_title)) {
120 _dst->program_title = strdup(_src->program_title);
121 if (_dst->program_title == NULL) {
122 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
123 media_pvr_destroy((media_pvr_h)_dst);
124 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
128 if (STRING_VALID(_src->program_crid)) {
129 _dst->program_crid = strdup(_src->program_crid);
130 if (_dst->program_crid == NULL) {
131 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
132 media_pvr_destroy((media_pvr_h)_dst);
133 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
137 if (STRING_VALID(_src->guidance)) {
138 _dst->guidance = strdup(_src->guidance);
139 if (_dst->guidance == NULL) {
140 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
141 media_pvr_destroy((media_pvr_h)_dst);
142 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
146 if (STRING_VALID(_src->synopsis)) {
147 _dst->synopsis = strdup(_src->synopsis);
148 if (_dst->synopsis == NULL) {
149 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
150 media_pvr_destroy((media_pvr_h)_dst);
151 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
155 if (STRING_VALID(_src->genre)) {
156 _dst->genre = strdup(_src->genre);
157 if (_dst->genre == NULL) {
158 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
159 media_pvr_destroy((media_pvr_h)_dst);
160 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
164 if (STRING_VALID(_src->language)) {
165 _dst->language = strdup(_src->language);
166 if (_dst->language == NULL) {
167 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
168 media_pvr_destroy((media_pvr_h)_dst);
169 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
173 if (STRING_VALID(_src->path)) {
174 _dst->path = strdup(_src->path);
175 if (_dst->path == NULL) {
176 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
177 media_pvr_destroy((media_pvr_h)_dst);
178 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
182 if (STRING_VALID(_src->storage_id)) {
183 _dst->storage_id = strdup(_src->storage_id);
184 if (_dst->storage_id == NULL) {
185 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
186 media_pvr_destroy((media_pvr_h)_dst);
187 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
191 if (STRING_VALID(_src->modified_month)) {
192 _dst->modified_month = strdup(_src->modified_month);
193 if (_dst->modified_month == NULL) {
194 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
195 media_pvr_destroy((media_pvr_h)_dst);
196 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
200 if (STRING_VALID(_src->private_data)) {
201 _dst->private_data = strdup(_src->private_data);
202 if (_dst->private_data == NULL) {
203 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
204 media_pvr_destroy((media_pvr_h)_dst);
205 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
208 _dst->duration = _src->duration;
209 _dst->timezone = _src->timezone;
210 _dst->ptc = _src->ptc;
211 _dst->major = _src->major;
212 _dst->minor = _src->minor;
213 _dst->channel_type = _src->channel_type;
214 _dst->program_num = _src->program_num;
215 _dst->timer_record = _src->timer_record;
216 _dst->series_record = _src->series_record;
218 _dst->subtitle = _src->subtitle;
219 _dst->ttx = _src->ttx;
221 _dst->hard_of_hearing_radio = _src->hard_of_hearing_radio;
222 _dst->data_service = _src->data_service;
223 _dst->content_lock = _src->content_lock;
224 _dst->embargo_time = _src->embargo_time;
225 _dst->expiry_time = _src->expiry_time;
226 _dst->size = _src->size;
227 _dst->parental_rating = _src->parental_rating;
228 _dst->start_time = _src->start_time;
229 _dst->program_start_time = _src->program_start_time;
230 _dst->program_end_time = _src->program_end_time;
231 _dst->program_date = _src->program_date;
232 _dst->content_watch = _src->content_watch;
233 _dst->has_audio_only = _src->has_audio_only;
234 _dst->is_local_record = _src->is_local_record;
235 _dst->resolution = _src->resolution;
236 _dst->aspectratio = _src->aspectratio;
237 _dst->sports_type = _src->sports_type;
238 _dst->guidance_length = _src->guidance_length;
239 _dst->tvmode = _src->tvmode;
240 _dst->play_count = _src->play_count;
242 *dst = (media_pvr_h)_dst;
244 ret = MEDIA_CONTENT_ERROR_NONE;
246 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
247 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
253 int media_pvr_get_pvr_from_db(const char *media_id, media_pvr_h *pvr)
255 int ret = MEDIA_CONTENT_ERROR_NONE;
256 char *select_query = NULL;
257 sqlite3_stmt *stmt = NULL;
259 if (!STRING_VALID(media_id) || (pvr == NULL)) {
260 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
261 return MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
264 select_query = sqlite3_mprintf(SELECT_PVR_FROM_PVR, media_id);
266 ret = _content_query_prepare(&stmt, select_query, NULL, NULL);
267 sqlite3_free(select_query);
268 media_content_retv_if(ret != MEDIA_CONTENT_ERROR_NONE, ret);
270 media_pvr_s *_pvr = NULL;
272 if (sqlite3_step(stmt) == SQLITE_ROW) {
273 _pvr = (media_pvr_s*)calloc(1, sizeof(media_pvr_s));
276 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
277 SQLITE3_FINALIZE(stmt);
278 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
281 _media_pvr_item_get_detail(stmt, (media_pvr_h)_pvr);
283 *pvr = (media_info_h)_pvr;
285 media_content_error("Nonexistent media_id[%s]", media_id);
286 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
289 SQLITE3_FINALIZE(stmt);
294 int media_pvr_get_media_id(media_pvr_h pvr, char **media_id)
296 int ret = MEDIA_CONTENT_ERROR_NONE;
297 media_pvr_s *_pvr = (media_pvr_s*)pvr;
299 if (_pvr && media_id) {
300 if (STRING_VALID(_pvr->media_id)) {
301 *media_id = strdup(_pvr->media_id);
302 if (*media_id == NULL) {
303 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
304 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
310 ret = MEDIA_CONTENT_ERROR_NONE;
312 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
313 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
319 int media_pvr_get_channel_name(media_pvr_h pvr, char **channel_name)
321 int ret = MEDIA_CONTENT_ERROR_NONE;
322 media_pvr_s *_pvr = (media_pvr_s*)pvr;
324 if (_pvr && channel_name) {
325 if (STRING_VALID(_pvr->channel_name)) {
326 *channel_name = strdup(_pvr->channel_name);
327 if (*channel_name == NULL) {
328 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
329 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
332 *channel_name = NULL;
335 ret = MEDIA_CONTENT_ERROR_NONE;
337 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
338 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
344 int media_pvr_get_channel_num(media_pvr_h pvr, char **channel_num)
346 int ret = MEDIA_CONTENT_ERROR_NONE;
347 media_pvr_s *_pvr = (media_pvr_s*)pvr;
349 if (_pvr && channel_num) {
350 if (STRING_VALID(_pvr->channel_num)) {
351 *channel_num = strdup(_pvr->channel_num);
352 if (*channel_num == NULL) {
353 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
354 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
360 ret = MEDIA_CONTENT_ERROR_NONE;
362 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
363 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
369 int media_pvr_get_program_title(media_pvr_h pvr, char **program_title)
371 int ret = MEDIA_CONTENT_ERROR_NONE;
372 media_pvr_s *_pvr = (media_pvr_s*)pvr;
374 if (_pvr && program_title) {
375 if (STRING_VALID(_pvr->program_title)) {
376 *program_title = strdup(_pvr->program_title);
377 if (*program_title == NULL) {
378 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
379 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
382 *program_title = NULL;
385 ret = MEDIA_CONTENT_ERROR_NONE;
387 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
388 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
394 int media_pvr_get_program_crid(media_pvr_h pvr, char **program_crid)
396 int ret = MEDIA_CONTENT_ERROR_NONE;
397 media_pvr_s *_pvr = (media_pvr_s*)pvr;
399 if (_pvr && program_crid) {
400 if (STRING_VALID(_pvr->program_crid)) {
401 *program_crid = strdup(_pvr->program_crid);
402 if (*program_crid == NULL) {
403 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
404 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
407 *program_crid = NULL;
410 ret = MEDIA_CONTENT_ERROR_NONE;
412 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
413 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
419 int media_pvr_get_guidance(media_pvr_h pvr, char **guidance)
421 int ret = MEDIA_CONTENT_ERROR_NONE;
422 media_pvr_s *_pvr = (media_pvr_s*)pvr;
424 if (_pvr && guidance) {
425 if (STRING_VALID(_pvr->guidance)) {
426 *guidance = strdup(_pvr->guidance);
427 if (*guidance == NULL) {
428 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
429 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
435 ret = MEDIA_CONTENT_ERROR_NONE;
437 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
438 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
444 int media_pvr_get_synopsis(media_pvr_h pvr, char **synopsis)
446 int ret = MEDIA_CONTENT_ERROR_NONE;
447 media_pvr_s *_pvr = (media_pvr_s*)pvr;
449 if (_pvr && synopsis) {
450 if (STRING_VALID(_pvr->synopsis)) {
451 *synopsis = strdup(_pvr->synopsis);
452 if (*synopsis == NULL) {
453 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
454 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
460 ret = MEDIA_CONTENT_ERROR_NONE;
462 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
463 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
469 int media_pvr_get_genre(media_pvr_h pvr, char **genre)
471 int ret = MEDIA_CONTENT_ERROR_NONE;
472 media_pvr_s *_pvr = (media_pvr_s*)pvr;
475 if (STRING_VALID(_pvr->genre)) {
476 *genre = strdup(_pvr->genre);
477 if (*genre == NULL) {
478 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
479 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
485 ret = MEDIA_CONTENT_ERROR_NONE;
487 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
488 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
494 int media_pvr_get_language(media_pvr_h pvr, char **language)
496 int ret = MEDIA_CONTENT_ERROR_NONE;
497 media_pvr_s *_pvr = (media_pvr_s*)pvr;
499 if (_pvr && language) {
500 if (STRING_VALID(_pvr->language)) {
501 *language = strdup(_pvr->language);
502 if (*language == NULL) {
503 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
504 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
510 ret = MEDIA_CONTENT_ERROR_NONE;
512 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
513 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
519 int media_pvr_get_path(media_pvr_h pvr, char **path)
521 int ret = MEDIA_CONTENT_ERROR_NONE;
522 media_pvr_s *_pvr = (media_pvr_s*)pvr;
525 if (STRING_VALID(_pvr->path)) {
526 *path = strdup(_pvr->path);
528 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
529 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
535 ret = MEDIA_CONTENT_ERROR_NONE;
537 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
538 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
544 int media_pvr_get_storage_id(media_pvr_h pvr, char **storage_id)
546 int ret = MEDIA_CONTENT_ERROR_NONE;
547 media_pvr_s *_pvr = (media_pvr_s*)pvr;
549 if (_pvr && storage_id) {
550 if (STRING_VALID(_pvr->storage_id)) {
551 *storage_id = strdup(_pvr->storage_id);
552 if (*storage_id == NULL) {
553 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
554 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
560 ret = MEDIA_CONTENT_ERROR_NONE;
562 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
563 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
569 int media_pvr_get_size(media_pvr_h pvr, unsigned long long *size)
571 int ret = MEDIA_CONTENT_ERROR_NONE;
572 media_pvr_s *_pvr = (media_pvr_s*)pvr;
576 ret = MEDIA_CONTENT_ERROR_NONE;
578 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
579 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
585 int media_pvr_get_timezone(media_pvr_h pvr, int *timezone)
587 int ret = MEDIA_CONTENT_ERROR_NONE;
588 media_pvr_s *_pvr = (media_pvr_s*)pvr;
590 if (_pvr && timezone) {
591 *timezone = _pvr->timezone;
592 ret = MEDIA_CONTENT_ERROR_NONE;
594 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
595 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
601 int media_pvr_get_ptc(media_pvr_h pvr, int *ptc)
603 int ret = MEDIA_CONTENT_ERROR_NONE;
604 media_pvr_s *_pvr = (media_pvr_s*)pvr;
608 ret = MEDIA_CONTENT_ERROR_NONE;
610 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
611 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
617 int media_pvr_get_major(media_pvr_h pvr, int *major)
619 int ret = MEDIA_CONTENT_ERROR_NONE;
620 media_pvr_s *_pvr = (media_pvr_s*)pvr;
623 *major = _pvr->major;
624 ret = MEDIA_CONTENT_ERROR_NONE;
626 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
627 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
633 int media_pvr_get_minor(media_pvr_h pvr, int *minor)
635 int ret = MEDIA_CONTENT_ERROR_NONE;
636 media_pvr_s *_pvr = (media_pvr_s*)pvr;
639 *minor = _pvr->minor;
640 ret = MEDIA_CONTENT_ERROR_NONE;
642 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
643 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
649 int media_pvr_get_channel_type(media_pvr_h pvr, int *channel_type)
651 int ret = MEDIA_CONTENT_ERROR_NONE;
652 media_pvr_s *_pvr = (media_pvr_s*)pvr;
654 if (_pvr && channel_type) {
655 *channel_type = _pvr->channel_type;
656 ret = MEDIA_CONTENT_ERROR_NONE;
658 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
659 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
665 int media_pvr_get_program_num(media_pvr_h pvr, int *program_num)
667 int ret = MEDIA_CONTENT_ERROR_NONE;
668 media_pvr_s *_pvr = (media_pvr_s*)pvr;
670 if (_pvr && program_num) {
671 *program_num = _pvr->program_num;
672 ret = MEDIA_CONTENT_ERROR_NONE;
674 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
675 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
681 int media_pvr_get_duration(media_pvr_h pvr, int *duration)
683 int ret = MEDIA_CONTENT_ERROR_NONE;
684 media_pvr_s *_pvr = (media_pvr_s*)pvr;
686 if (_pvr && duration) {
687 *duration = _pvr->duration;
688 ret = MEDIA_CONTENT_ERROR_NONE;
690 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
691 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
697 int media_pvr_get_embargo_time(media_pvr_h pvr, int *embargo_time)
699 int ret = MEDIA_CONTENT_ERROR_NONE;
700 media_pvr_s *_pvr = (media_pvr_s*)pvr;
702 if (_pvr && embargo_time) {
703 *embargo_time = _pvr->embargo_time;
704 ret = MEDIA_CONTENT_ERROR_NONE;
706 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
707 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
713 int media_pvr_get_expiry_time(media_pvr_h pvr, int *expiry_time)
715 int ret = MEDIA_CONTENT_ERROR_NONE;
716 media_pvr_s *_pvr = (media_pvr_s*)pvr;
718 if (_pvr && expiry_time) {
719 *expiry_time = _pvr->expiry_time;
720 ret = MEDIA_CONTENT_ERROR_NONE;
722 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
723 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
729 int media_pvr_get_parental_rating(media_pvr_h pvr, int *parental_rating)
731 int ret = MEDIA_CONTENT_ERROR_NONE;
732 media_pvr_s *_pvr = (media_pvr_s*)pvr;
734 if (_pvr && parental_rating) {
735 *parental_rating = _pvr->parental_rating;
736 ret = MEDIA_CONTENT_ERROR_NONE;
738 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
739 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
745 int media_pvr_get_start_time(media_pvr_h pvr, int *start_time)
747 int ret = MEDIA_CONTENT_ERROR_NONE;
748 media_pvr_s *_pvr = (media_pvr_s*)pvr;
750 if (_pvr && start_time) {
751 *start_time = _pvr->start_time;
752 ret = MEDIA_CONTENT_ERROR_NONE;
754 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
755 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
761 int media_pvr_get_program_start_time(media_pvr_h pvr, int *program_start_time)
763 int ret = MEDIA_CONTENT_ERROR_NONE;
764 media_pvr_s *_pvr = (media_pvr_s*)pvr;
766 if (_pvr && program_start_time) {
767 *program_start_time = _pvr->program_start_time;
768 ret = MEDIA_CONTENT_ERROR_NONE;
770 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
771 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
777 int media_pvr_get_program_end_time(media_pvr_h pvr, int *end_time)
779 int ret = MEDIA_CONTENT_ERROR_NONE;
780 media_pvr_s *_pvr = (media_pvr_s*)pvr;
782 if (_pvr && end_time) {
783 *end_time = _pvr->program_end_time;
784 ret = MEDIA_CONTENT_ERROR_NONE;
786 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
787 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
793 int media_pvr_get_program_date(media_pvr_h pvr, int *program_date)
795 int ret = MEDIA_CONTENT_ERROR_NONE;
796 media_pvr_s *_pvr = (media_pvr_s*)pvr;
798 if (_pvr && program_date) {
799 *program_date = _pvr->program_date;
800 ret = MEDIA_CONTENT_ERROR_NONE;
802 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
803 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
809 int media_pvr_get_timer_record(media_pvr_h pvr, bool* timer_record)
811 int ret = MEDIA_CONTENT_ERROR_NONE;
812 media_pvr_s *_pvr = (media_pvr_s*)pvr;
814 if (_pvr && timer_record) {
815 *timer_record = _pvr->timer_record;
816 ret = MEDIA_CONTENT_ERROR_NONE;
818 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
819 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
825 int media_pvr_get_series_record(media_pvr_h pvr, bool* series_record)
827 int ret = MEDIA_CONTENT_ERROR_NONE;
828 media_pvr_s *_pvr = (media_pvr_s*)pvr;
830 if (_pvr && series_record) {
831 *series_record = _pvr->series_record;
832 ret = MEDIA_CONTENT_ERROR_NONE;
834 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
835 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
841 int media_pvr_get_hd(media_pvr_h pvr, int* hd)
843 int ret = MEDIA_CONTENT_ERROR_NONE;
844 media_pvr_s *_pvr = (media_pvr_s*)pvr;
848 ret = MEDIA_CONTENT_ERROR_NONE;
850 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
851 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
857 int media_pvr_get_subtitle(media_pvr_h pvr, bool* subtitle)
859 int ret = MEDIA_CONTENT_ERROR_NONE;
860 media_pvr_s *_pvr = (media_pvr_s*)pvr;
862 if (_pvr && subtitle) {
863 *subtitle = _pvr->subtitle;
864 ret = MEDIA_CONTENT_ERROR_NONE;
866 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
867 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
873 int media_pvr_get_ttx(media_pvr_h pvr, bool* ttx)
875 int ret = MEDIA_CONTENT_ERROR_NONE;
876 media_pvr_s *_pvr = (media_pvr_s*)pvr;
880 ret = MEDIA_CONTENT_ERROR_NONE;
882 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
883 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
889 int media_pvr_get_ad(media_pvr_h pvr, bool* ad)
891 int ret = MEDIA_CONTENT_ERROR_NONE;
892 media_pvr_s *_pvr = (media_pvr_s*)pvr;
896 ret = MEDIA_CONTENT_ERROR_NONE;
898 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
899 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
905 int media_pvr_get_hard_of_hearing_radio(media_pvr_h pvr, bool* hard_of_hearing_radio)
907 int ret = MEDIA_CONTENT_ERROR_NONE;
908 media_pvr_s *_pvr = (media_pvr_s*)pvr;
910 if (_pvr && hard_of_hearing_radio) {
911 *hard_of_hearing_radio = _pvr->hard_of_hearing_radio;
912 ret = MEDIA_CONTENT_ERROR_NONE;
914 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
915 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
921 int media_pvr_get_data_service(media_pvr_h pvr, bool* data_service)
923 int ret = MEDIA_CONTENT_ERROR_NONE;
924 media_pvr_s *_pvr = (media_pvr_s*)pvr;
926 if (_pvr && data_service) {
927 *data_service = _pvr->data_service;
928 ret = MEDIA_CONTENT_ERROR_NONE;
930 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
931 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
937 int media_pvr_get_content_lock(media_pvr_h pvr, bool* content_lock)
939 int ret = MEDIA_CONTENT_ERROR_NONE;
940 media_pvr_s *_pvr = (media_pvr_s*)pvr;
942 if (_pvr && content_lock) {
943 *content_lock = _pvr->content_lock;
944 ret = MEDIA_CONTENT_ERROR_NONE;
946 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
947 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
953 int media_pvr_get_content_watch(media_pvr_h pvr, bool* content_watch)
955 int ret = MEDIA_CONTENT_ERROR_NONE;
956 media_pvr_s *_pvr = (media_pvr_s*)pvr;
958 if (_pvr && content_watch) {
959 *content_watch = _pvr->content_watch;
960 ret = MEDIA_CONTENT_ERROR_NONE;
962 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
963 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
969 int media_pvr_get_has_audio_only(media_pvr_h pvr, bool* has_audio_only)
971 int ret = MEDIA_CONTENT_ERROR_NONE;
972 media_pvr_s *_pvr = (media_pvr_s*)pvr;
974 if (_pvr && has_audio_only) {
975 *has_audio_only = _pvr->has_audio_only;
976 ret = MEDIA_CONTENT_ERROR_NONE;
978 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
979 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
985 int media_pvr_get_is_local_record(media_pvr_h pvr, bool* is_local_record)
987 int ret = MEDIA_CONTENT_ERROR_NONE;
988 media_pvr_s *_pvr = (media_pvr_s*)pvr;
990 if (_pvr && is_local_record) {
991 *is_local_record = _pvr->is_local_record;
992 ret = MEDIA_CONTENT_ERROR_NONE;
994 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
995 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1001 int media_pvr_get_resolution(media_pvr_h pvr, media_pvr_resolution_e* resolution)
1003 int ret = MEDIA_CONTENT_ERROR_NONE;
1004 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1006 if (_pvr && resolution) {
1007 *resolution = _pvr->resolution;
1008 ret = MEDIA_CONTENT_ERROR_NONE;
1010 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1011 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1017 int media_pvr_get_aspectratio(media_pvr_h pvr, media_pvr_aspectratio_e* aspectratio)
1019 int ret = MEDIA_CONTENT_ERROR_NONE;
1020 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1022 if (_pvr && aspectratio) {
1023 *aspectratio = _pvr->aspectratio;
1024 ret = MEDIA_CONTENT_ERROR_NONE;
1026 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1027 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1033 int media_pvr_get_modified_month(media_pvr_h pvr, char **modified_month)
1035 int ret = MEDIA_CONTENT_ERROR_NONE;
1036 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1038 if (_pvr && modified_month) {
1039 if (STRING_VALID(_pvr->modified_month)) {
1040 *modified_month = strdup(_pvr->modified_month);
1041 if (*modified_month == NULL) {
1042 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
1043 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
1046 *modified_month = NULL;
1049 ret = MEDIA_CONTENT_ERROR_NONE;
1051 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1052 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1058 int media_pvr_get_sports_type(media_pvr_h pvr, int* sports_type)
1060 int ret = MEDIA_CONTENT_ERROR_NONE;
1061 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1063 if (_pvr && sports_type) {
1064 *sports_type = _pvr->sports_type;
1065 ret = MEDIA_CONTENT_ERROR_NONE;
1067 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1068 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1074 int media_pvr_get_guidance_length(media_pvr_h pvr, int* guidance_length)
1076 int ret = MEDIA_CONTENT_ERROR_NONE;
1077 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1079 if (_pvr && guidance_length) {
1080 *guidance_length = _pvr->guidance_length;
1081 ret = MEDIA_CONTENT_ERROR_NONE;
1083 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1084 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1090 int media_pvr_get_tvmode(media_pvr_h pvr, int* tvmode)
1092 int ret = MEDIA_CONTENT_ERROR_NONE;
1093 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1095 if (_pvr && tvmode) {
1096 *tvmode = _pvr->tvmode;
1097 ret = MEDIA_CONTENT_ERROR_NONE;
1099 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1100 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1106 int media_pvr_get_play_count(media_pvr_h pvr, int* play_count)
1108 int ret = MEDIA_CONTENT_ERROR_NONE;
1109 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1111 if (_pvr && play_count) {
1112 *play_count = _pvr->play_count;
1113 ret = MEDIA_CONTENT_ERROR_NONE;
1115 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1116 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1122 int media_pvr_get_private_data(media_pvr_h pvr, char **private_data)
1124 int ret = MEDIA_CONTENT_ERROR_NONE;
1125 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1127 if (_pvr && private_data) {
1128 if (STRING_VALID(_pvr->private_data)) {
1129 *private_data = strdup(_pvr->private_data);
1130 if (*private_data == NULL) {
1131 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
1132 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
1135 *private_data = NULL;
1138 ret = MEDIA_CONTENT_ERROR_NONE;
1140 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1141 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1147 int media_pvr_get_highlight(media_pvr_h pvr, bool *highlight)
1149 int ret = MEDIA_CONTENT_ERROR_NONE;
1150 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1152 if (_pvr && highlight) {
1153 *highlight = _pvr->highlight;
1154 ret = MEDIA_CONTENT_ERROR_NONE;
1156 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1157 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1163 int media_pvr_set_play_count(media_pvr_h pvr, int play_count)
1165 int ret = MEDIA_CONTENT_ERROR_NONE;
1166 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1169 _pvr->play_count = play_count;
1171 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1172 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1178 int media_pvr_set_program_title(media_pvr_h pvr, const char *program_title)
1180 int ret = MEDIA_CONTENT_ERROR_NONE;
1181 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1183 if (_pvr != NULL && STRING_VALID(program_title)) {
1184 SAFE_FREE(_pvr->program_title);
1185 _pvr->program_title = strdup(program_title);
1186 if (_pvr->program_title == NULL) {
1187 media_content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
1188 return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
1191 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1192 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1198 int media_pvr_set_content_lock(media_pvr_h pvr, bool content_lock)
1200 int ret = MEDIA_CONTENT_ERROR_NONE;
1201 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1204 _pvr->content_lock = content_lock;
1206 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1207 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1213 int media_pvr_set_content_watch(media_pvr_h pvr, bool content_watch)
1215 int ret = MEDIA_CONTENT_ERROR_NONE;
1216 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1219 _pvr->content_watch = content_watch;
1221 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1222 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1228 int media_pvr_set_highlight(media_pvr_h pvr, bool highlight)
1230 int ret = MEDIA_CONTENT_ERROR_NONE;
1231 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1234 _pvr->highlight = highlight;
1236 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1237 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1243 int media_pvr_update_to_db(media_pvr_h pvr)
1245 int ret = MEDIA_CONTENT_ERROR_NONE;
1246 media_pvr_s *_pvr = (media_pvr_s*)pvr;
1247 char *update_query = NULL;
1249 if (_pvr != NULL && STRING_VALID(_pvr->media_id) && STRING_VALID(_pvr->path)) {
1250 update_query = sqlite3_mprintf(UPDATE_PVR_META_FROM_PVR, _pvr->program_title, _pvr->content_lock, _pvr->content_watch, _pvr->play_count, _pvr->highlight, _pvr->media_id);
1252 ret = _content_query_sql(update_query);
1253 sqlite3_free(update_query);
1255 if (ret == MEDIA_CONTENT_ERROR_NONE)
1256 media_svc_update_pvr_info(_content_get_db_handle(), _pvr->path, _pvr->program_title, _pvr->content_lock);
1258 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1259 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1265 int media_pvr_group_foreach_media_from_db(const char *group_name, media_group_e group, filter_h filter, media_pvr_cb callback, void *user_data)
1267 int ret = MEDIA_CONTENT_ERROR_NONE;
1269 if ((callback == NULL) || (group < MEDIA_PVR_GROUP_DURATION) || (group >= MEDIA_GROUP_MAX)) {
1270 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1271 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1273 ret = _media_db_get_pvr_group_item(group_name, filter, group, callback, user_data);
1279 int media_pvr_set_is_local_record(const char *pvr_path, bool is_local_record)
1281 int ret = MEDIA_CONTENT_ERROR_NONE;
1282 char *update_query = NULL;
1283 char storage_id[MEDIA_CONTENT_UUID_SIZE+1] = {0,};
1285 if (pvr_path == NULL) {
1286 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1287 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
1290 /*get the storage uuid*/
1291 ret = media_svc_get_storage_id(_content_get_db_handle(), pvr_path, storage_id, tzplatform_getuid(TZ_USER_NAME));
1292 if (ret == MS_MEDIA_ERR_NONE) {
1293 media_content_error("storage uuid [%s]", storage_id);
1294 update_query = sqlite3_mprintf(UPDATE_PVR_LOCAL_RECORD_PVR, is_local_record, pvr_path, storage_id);
1296 ret = _content_query_sql(update_query);
1297 sqlite3_free(update_query);
1299 media_content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
1300 media_content_error("pvr path[%s] error[%d]", pvr_path, ret);
1301 ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;