Lines Matching refs:media_player
246 static struct mpl_mediaplayer media_player = { variable
712 if (id == media_player.icon_id) { in on_obj_selected()
715 } else if (id == media_player.group->track->segments_id) { in on_obj_selected()
717 (void)setup_segments_object(media_player.group->track); in on_obj_selected()
718 } else if (id == media_player.group->track->id) { in on_obj_selected()
720 (void)setup_track_object(media_player.group->track); in on_obj_selected()
721 } else if (media_player.next_track_set && id == media_player.next.track->id) { in on_obj_selected()
724 (void)setup_track_object(media_player.next.track); in on_obj_selected()
725 } else if (id == media_player.group->track->next->id) { in on_obj_selected()
728 (void)setup_track_object(media_player.group->track->next); in on_obj_selected()
729 } else if (id == media_player.group->parent->id) { in on_obj_selected()
731 (void)setup_parent_group_object(media_player.group); in on_obj_selected()
732 } else if (id == media_player.group->id) { in on_obj_selected()
734 (void)setup_group_object(media_player.group); in on_obj_selected()
759 media_player.icon_id = id; in on_obj_created()
769 media_player.group->track->segments_id = id; in on_obj_created()
791 media_player.group->parent->id = id; in on_obj_created()
1043 media_player.track_pos = 0; in do_first_track()
1044 do_track_change_notifications(&media_player); in do_first_track()
1064 media_player.track_pos = 0; in do_last_track()
1065 do_track_change_notifications(&media_player); in do_last_track()
1128 media_player.track_pos = 0; in do_goto_track()
1129 do_track_change_notifications(&media_player); in do_goto_track()
1336 (void)k_work_cancel_delayable(&media_player.pos_work); in mpl_set_state()
1339 (void)k_work_schedule(&media_player.pos_work, TRACK_POS_WORK_DELAY); in mpl_set_state()
1345 media_player.state = state; in mpl_set_state()
1346 media_proxy_pl_media_state_cb(media_player.state); in mpl_set_state()
1375 do_prev_track(&media_player); in inactive_state_command_handler()
1383 do_next_track(&media_player); in inactive_state_command_handler()
1390 do_first_track(&media_player, false); in inactive_state_command_handler()
1394 do_last_track(&media_player); in inactive_state_command_handler()
1399 do_goto_track(&media_player, command->param); in inactive_state_command_handler()
1406 do_full_prev_group(&media_player); in inactive_state_command_handler()
1410 do_full_next_group(&media_player); in inactive_state_command_handler()
1414 do_full_first_group(&media_player); in inactive_state_command_handler()
1418 do_full_last_group(&media_player); in inactive_state_command_handler()
1423 do_full_goto_group(&media_player, command->param); in inactive_state_command_handler()
1459 media_player.seeking_speed_factor = -MPL_SEEKING_SPEED_FACTOR_STEP; in playing_state_command_handler()
1461 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in playing_state_command_handler()
1465 media_player.seeking_speed_factor = MPL_SEEKING_SPEED_FACTOR_STEP; in playing_state_command_handler()
1467 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in playing_state_command_handler()
1484 if (media_player.track_pos - PREV_MARGIN < in playing_state_command_handler()
1485 media_player.group->track->segment->pos) { in playing_state_command_handler()
1486 do_prev_segment(&media_player); in playing_state_command_handler()
1488 set_track_position(media_player.group->track->segment->pos); in playing_state_command_handler()
1491 do_next_segment(&media_player); in playing_state_command_handler()
1492 set_track_position(media_player.group->track->segment->pos); in playing_state_command_handler()
1495 do_first_segment(&media_player); in playing_state_command_handler()
1496 set_track_position(media_player.group->track->segment->pos); in playing_state_command_handler()
1499 do_last_segment(&media_player); in playing_state_command_handler()
1500 set_track_position(media_player.group->track->segment->pos); in playing_state_command_handler()
1505 do_goto_segment(&media_player, command->param); in playing_state_command_handler()
1516 do_prev_track(&media_player); in playing_state_command_handler()
1519 do_next_track(&media_player); in playing_state_command_handler()
1522 do_first_track(&media_player, false); in playing_state_command_handler()
1525 do_last_track(&media_player); in playing_state_command_handler()
1529 do_goto_track(&media_player, command->param); in playing_state_command_handler()
1536 do_full_prev_group(&media_player); in playing_state_command_handler()
1539 do_full_next_group(&media_player); in playing_state_command_handler()
1542 do_full_first_group(&media_player); in playing_state_command_handler()
1545 do_full_last_group(&media_player); in playing_state_command_handler()
1549 do_full_goto_group(&media_player, command->param); in playing_state_command_handler()
1583 media_player.seeking_speed_factor = -MPL_SEEKING_SPEED_FACTOR_STEP; in paused_state_command_handler()
1585 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in paused_state_command_handler()
1589 media_player.seeking_speed_factor = MPL_SEEKING_SPEED_FACTOR_STEP; in paused_state_command_handler()
1591 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in paused_state_command_handler()
1608 if (media_player.group->track->segment != NULL) { in paused_state_command_handler()
1609 if (media_player.track_pos - PREV_MARGIN < in paused_state_command_handler()
1610 media_player.group->track->segment->pos) { in paused_state_command_handler()
1611 do_prev_segment(&media_player); in paused_state_command_handler()
1614 set_track_position(media_player.group->track->segment->pos); in paused_state_command_handler()
1621 if (media_player.group->track->segment != NULL) { in paused_state_command_handler()
1622 do_next_segment(&media_player); in paused_state_command_handler()
1623 set_track_position(media_player.group->track->segment->pos); in paused_state_command_handler()
1630 if (media_player.group->track->segment != NULL) { in paused_state_command_handler()
1631 do_first_segment(&media_player); in paused_state_command_handler()
1632 set_track_position(media_player.group->track->segment->pos); in paused_state_command_handler()
1639 if (media_player.group->track->segment != NULL) { in paused_state_command_handler()
1640 do_last_segment(&media_player); in paused_state_command_handler()
1641 set_track_position(media_player.group->track->segment->pos); in paused_state_command_handler()
1648 if (command->use_param && media_player.group->track->segment != NULL) { in paused_state_command_handler()
1650 do_goto_segment(&media_player, command->param); in paused_state_command_handler()
1661 do_prev_track(&media_player); in paused_state_command_handler()
1664 do_next_track(&media_player); in paused_state_command_handler()
1669 do_first_track(&media_player, false); in paused_state_command_handler()
1672 do_last_track(&media_player); in paused_state_command_handler()
1676 do_goto_track(&media_player, command->param); in paused_state_command_handler()
1683 do_full_prev_group(&media_player); in paused_state_command_handler()
1686 do_full_next_group(&media_player); in paused_state_command_handler()
1689 do_full_first_group(&media_player); in paused_state_command_handler()
1692 do_full_last_group(&media_player); in paused_state_command_handler()
1696 do_full_goto_group(&media_player, command->param); in paused_state_command_handler()
1724 media_player.seeking_speed_factor = MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO; in seeking_state_command_handler()
1726 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in seeking_state_command_handler()
1729 media_player.seeking_speed_factor = MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO; in seeking_state_command_handler()
1732 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in seeking_state_command_handler()
1741 if (media_player.seeking_speed_factor >= -(MEDIA_PROXY_SEEKING_SPEED_FACTOR_MAX in seeking_state_command_handler()
1743 media_player.seeking_speed_factor -= MPL_SEEKING_SPEED_FACTOR_STEP; in seeking_state_command_handler()
1744 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in seeking_state_command_handler()
1749 if (media_player.seeking_speed_factor <= (MEDIA_PROXY_SEEKING_SPEED_FACTOR_MAX in seeking_state_command_handler()
1751 media_player.seeking_speed_factor += MPL_SEEKING_SPEED_FACTOR_STEP; in seeking_state_command_handler()
1752 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in seeking_state_command_handler()
1756 media_player.seeking_speed_factor = MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO; in seeking_state_command_handler()
1759 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in seeking_state_command_handler()
1772 if (media_player.track_pos - PREV_MARGIN < in seeking_state_command_handler()
1773 media_player.group->track->segment->pos) { in seeking_state_command_handler()
1774 do_prev_segment(&media_player); in seeking_state_command_handler()
1776 set_track_position(media_player.group->track->segment->pos); in seeking_state_command_handler()
1779 do_next_segment(&media_player); in seeking_state_command_handler()
1780 set_track_position(media_player.group->track->segment->pos); in seeking_state_command_handler()
1783 do_first_segment(&media_player); in seeking_state_command_handler()
1784 set_track_position(media_player.group->track->segment->pos); in seeking_state_command_handler()
1787 do_last_segment(&media_player); in seeking_state_command_handler()
1788 set_track_position(media_player.group->track->segment->pos); in seeking_state_command_handler()
1793 do_goto_segment(&media_player, command->param); in seeking_state_command_handler()
1803 do_prev_track(&media_player); in seeking_state_command_handler()
1804 media_player.seeking_speed_factor = MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO; in seeking_state_command_handler()
1808 do_next_track(&media_player); in seeking_state_command_handler()
1811 media_player.seeking_speed_factor = MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO; in seeking_state_command_handler()
1815 do_first_track(&media_player, false); in seeking_state_command_handler()
1816 media_player.seeking_speed_factor = MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO; in seeking_state_command_handler()
1820 do_last_track(&media_player); in seeking_state_command_handler()
1821 media_player.seeking_speed_factor = MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO; in seeking_state_command_handler()
1826 do_goto_track(&media_player, command->param); in seeking_state_command_handler()
1827 media_player.seeking_speed_factor = MEDIA_PROXY_SEEKING_SPEED_FACTOR_ZERO; in seeking_state_command_handler()
1834 do_full_prev_group(&media_player); in seeking_state_command_handler()
1838 do_full_next_group(&media_player); in seeking_state_command_handler()
1842 do_full_first_group(&media_player); in seeking_state_command_handler()
1846 do_full_last_group(&media_player); in seeking_state_command_handler()
1851 do_full_goto_group(&media_player, command->param); in seeking_state_command_handler()
1951 return media_player.name; in get_player_name()
1957 return media_player.icon_id; in get_icon_id()
1963 return media_player.icon_url; in get_icon_url()
1968 return media_player.group->track->title; in get_track_title()
1973 return media_player.group->track->duration; in get_track_duration()
1978 return media_player.track_pos; in get_track_position()
1983 int32_t old_pos = media_player.track_pos; in set_track_position()
1987 if (position > media_player.group->track->duration) { in set_track_position()
1989 new_pos = media_player.group->track->duration; in set_track_position()
1996 if (position < -media_player.group->track->duration) { in set_track_position()
2000 new_pos = media_player.group->track->duration + position; in set_track_position()
2005 media_player.group->track->duration); in set_track_position()
2014 media_player.track_pos = new_pos; in set_track_position()
2021 if (media_player.state != MEDIA_PROXY_STATE_PLAYING) { in set_track_position()
2031 pos = media_player.track_pos + rel_pos; in set_relative_track_position()
2033 pos = CLAMP(pos, 0, media_player.group->track->duration); in set_relative_track_position()
2040 return media_player.playback_speed_param; in get_playback_speed()
2046 if (speed != media_player.playback_speed_param) { in set_playback_speed()
2047 media_player.playback_speed_param = speed; in set_playback_speed()
2048 media_proxy_pl_playback_speed_cb(media_player.playback_speed_param); in set_playback_speed()
2054 return media_player.seeking_speed_factor; in get_seeking_speed()
2060 return media_player.group->track->segments_id; in get_track_segments_id()
2065 return media_player.group->track->id; in get_current_track_id()
2075 if (find_track_by_id(&media_player, id, &group, &track)) { in set_current_track_id()
2076 if (media_player.group != group) { in set_current_track_id()
2077 media_player.group = group; in set_current_track_id()
2078 do_group_change_notifications(&media_player); in set_current_track_id()
2081 media_player.group->track = track; in set_current_track_id()
2082 do_track_change_notifications(&media_player); in set_current_track_id()
2084 } else if (media_player.group->track != track) { in set_current_track_id()
2085 media_player.group->track = track; in set_current_track_id()
2086 do_track_change_notifications(&media_player); in set_current_track_id()
2101 if (media_player.next_track_set) { in get_next_track_id()
2102 return media_player.next.track->id; in get_next_track_id()
2106 if (media_player.group->track->next) { in get_next_track_id()
2107 return media_player.group->track->next->id; in get_next_track_id()
2121 if (find_track_by_id(&media_player, id, &group, &track)) { in set_next_track_id()
2123 media_player.next_track_set = true; in set_next_track_id()
2124 media_player.next.group = group; in set_next_track_id()
2125 media_player.next.track = track; in set_next_track_id()
2135 return media_player.group->parent->id; in get_parent_group_id()
2140 return media_player.group->id; in get_current_group_id()
2149 if (find_group_by_id(&media_player, id, &group)) { in set_current_group_id()
2151 if (media_player.group != group) { in set_current_group_id()
2153 media_player.group = group; in set_current_group_id()
2154 do_group_change_notifications(&media_player); in set_current_group_id()
2157 do_first_track(&media_player, false); in set_current_group_id()
2168 return media_player.playing_order; in get_playing_order()
2173 if (order != media_player.playing_order) { in set_playing_order()
2174 if (BIT(order - 1) & media_player.playing_orders_supported) { in set_playing_order()
2175 media_player.playing_order = order; in set_playing_order()
2176 media_proxy_pl_playing_order_cb(media_player.playing_order); in set_playing_order()
2183 return media_player.playing_orders_supported; in get_playing_orders_supported()
2188 return media_player.state; in get_media_state()
2201 if (media_player.state < MEDIA_PROXY_STATE_LAST) { in send_command()
2203 ntf.result_code = command_handlers[media_player.state](command); in send_command()
2213 return media_player.opcodes_supported; in get_commands_supported()
2259 media_player.search_results_id = 0; in parse_search()
2263 media_player.search_results_id = media_player.group->id; in parse_search()
2267 media_proxy_pl_search_results_id_cb(media_player.search_results_id); in parse_search()
2283 return media_player.search_results_id; in get_search_results_id()
2289 return media_player.content_ctrl_id; in get_content_ctrl_id()
2296 if (media_player.state == MEDIA_PROXY_STATE_SEEKING) { in pos_work_cb()
2298 set_relative_track_position(pos_diff_cs * media_player.seeking_speed_factor); in pos_work_cb()
2299 } else if (media_player.state == MEDIA_PROXY_STATE_PLAYING) { in pos_work_cb()
2303 if (media_player.track_pos == media_player.group->track->duration) { in pos_work_cb()
2305 do_next_track(&media_player); in pos_work_cb()
2308 (void)k_work_schedule(&media_player.pos_work, TRACK_POS_WORK_DELAY); in pos_work_cb()
2327 media_player.content_ctrl_id = (uint8_t)ret; in media_proxy_pl_init()
2368 ret = add_icon_object(&media_player); in media_proxy_pl_init()
2376 ret = add_group_and_track_objects(&media_player); in media_proxy_pl_init()
2386 ret = add_current_track_segments_object(&media_player); in media_proxy_pl_init()
2397 media_player.calls.get_player_name = get_player_name; in media_proxy_pl_init()
2399 media_player.calls.get_icon_id = get_icon_id; in media_proxy_pl_init()
2401 media_player.calls.get_icon_url = get_icon_url; in media_proxy_pl_init()
2402 media_player.calls.get_track_title = get_track_title; in media_proxy_pl_init()
2403 media_player.calls.get_track_duration = get_track_duration; in media_proxy_pl_init()
2404 media_player.calls.get_track_position = get_track_position; in media_proxy_pl_init()
2405 media_player.calls.set_track_position = set_track_position; in media_proxy_pl_init()
2406 media_player.calls.get_playback_speed = get_playback_speed; in media_proxy_pl_init()
2407 media_player.calls.set_playback_speed = set_playback_speed; in media_proxy_pl_init()
2408 media_player.calls.get_seeking_speed = get_seeking_speed; in media_proxy_pl_init()
2410 media_player.calls.get_track_segments_id = get_track_segments_id; in media_proxy_pl_init()
2411 media_player.calls.get_current_track_id = get_current_track_id; in media_proxy_pl_init()
2412 media_player.calls.set_current_track_id = set_current_track_id; in media_proxy_pl_init()
2413 media_player.calls.get_next_track_id = get_next_track_id; in media_proxy_pl_init()
2414 media_player.calls.set_next_track_id = set_next_track_id; in media_proxy_pl_init()
2415 media_player.calls.get_parent_group_id = get_parent_group_id; in media_proxy_pl_init()
2416 media_player.calls.get_current_group_id = get_current_group_id; in media_proxy_pl_init()
2417 media_player.calls.set_current_group_id = set_current_group_id; in media_proxy_pl_init()
2419 media_player.calls.get_playing_order = get_playing_order; in media_proxy_pl_init()
2420 media_player.calls.set_playing_order = set_playing_order; in media_proxy_pl_init()
2421 media_player.calls.get_playing_orders_supported = get_playing_orders_supported; in media_proxy_pl_init()
2422 media_player.calls.get_media_state = get_media_state; in media_proxy_pl_init()
2423 media_player.calls.send_command = send_command; in media_proxy_pl_init()
2424 media_player.calls.get_commands_supported = get_commands_supported; in media_proxy_pl_init()
2426 media_player.calls.send_search = send_search; in media_proxy_pl_init()
2427 media_player.calls.get_search_results_id = get_search_results_id; in media_proxy_pl_init()
2429 media_player.calls.get_content_ctrl_id = get_content_ctrl_id; in media_proxy_pl_init()
2431 ret = media_proxy_pl_register(&media_player.calls); in media_proxy_pl_init()
2437 k_work_init_delayable(&media_player.pos_work, pos_work_cb); in media_proxy_pl_init()
2453 LOG_DBG("Mediaplayer name: %s", media_player.name); in mpl_debug_dump_state()
2456 (void)bt_ots_obj_id_to_str(media_player.icon_id, t, sizeof(t)); in mpl_debug_dump_state()
2460 LOG_DBG("Icon URL: %s", media_player.icon_url); in mpl_debug_dump_state()
2461 LOG_DBG("Track position: %d", media_player.track_pos); in mpl_debug_dump_state()
2462 LOG_DBG("Media state: %d", media_player.state); in mpl_debug_dump_state()
2463 LOG_DBG("Playback speed parameter: %d", media_player.playback_speed_param); in mpl_debug_dump_state()
2464 LOG_DBG("Seeking speed factor: %d", media_player.seeking_speed_factor); in mpl_debug_dump_state()
2465 LOG_DBG("Playing order: %d", media_player.playing_order); in mpl_debug_dump_state()
2466 LOG_DBG("Playing orders supported: 0x%x", media_player.playing_orders_supported); in mpl_debug_dump_state()
2467 LOG_DBG("Opcodes supported: %d", media_player.opcodes_supported); in mpl_debug_dump_state()
2468 LOG_DBG("Content control ID: %d", media_player.content_ctrl_id); in mpl_debug_dump_state()
2471 (void)bt_ots_obj_id_to_str(media_player.group->parent->id, t, sizeof(t)); in mpl_debug_dump_state()
2474 (void)bt_ots_obj_id_to_str(media_player.group->id, t, sizeof(t)); in mpl_debug_dump_state()
2477 (void)bt_ots_obj_id_to_str(media_player.group->track->id, t, sizeof(t)); in mpl_debug_dump_state()
2480 if (media_player.next_track_set) { in mpl_debug_dump_state()
2481 (void)bt_ots_obj_id_to_str(media_player.next.track->id, t, sizeof(t)); in mpl_debug_dump_state()
2483 } else if (media_player.group->track->next) { in mpl_debug_dump_state()
2484 (void)bt_ots_obj_id_to_str(media_player.group->track->next->id, t, in mpl_debug_dump_state()
2491 if (media_player.search_results_id) { in mpl_debug_dump_state()
2492 (void)bt_ots_obj_id_to_str(media_player.search_results_id, t, sizeof(t)); in mpl_debug_dump_state()
2499 group = media_player.group; in mpl_debug_dump_state()
2536 media_player.group->parent = media_player.group; in mpl_test_unset_parent_group()
2547 media_proxy_pl_name_cb(media_player.name); in mpl_test_player_name_changed_cb()
2552 media_proxy_pl_icon_url_cb(media_player.icon_url); in mpl_test_player_icon_url_changed_cb()
2562 media_proxy_pl_track_title_cb(media_player.group->track->title); in mpl_test_title_changed_cb()
2567 media_proxy_pl_track_duration_cb(media_player.group->track->duration); in mpl_test_duration_changed_cb()
2572 media_proxy_pl_track_position_cb(media_player.track_pos); in mpl_test_position_changed_cb()
2577 media_proxy_pl_playback_speed_cb(media_player.playback_speed_param); in mpl_test_playback_speed_changed_cb()
2582 media_proxy_pl_seeking_speed_cb(media_player.seeking_speed_factor); in mpl_test_seeking_speed_changed_cb()
2588 media_proxy_pl_current_track_id_cb(media_player.group->track->id); in mpl_test_current_track_id_changed_cb()
2593 media_proxy_pl_next_track_id_cb(media_player.group->track->next->id); in mpl_test_next_track_id_changed_cb()
2598 media_proxy_pl_parent_group_id_cb(media_player.group->id); in mpl_test_parent_group_id_changed_cb()
2603 media_proxy_pl_current_group_id_cb(media_player.group->id); in mpl_test_current_group_id_changed_cb()
2609 media_proxy_pl_playing_order_cb(media_player.playing_order); in mpl_test_playing_order_changed_cb()
2614 media_proxy_pl_media_state_cb(media_player.playing_order); in mpl_test_media_state_changed_cb()
2619 media_proxy_pl_commands_supported_cb(media_player.opcodes_supported); in mpl_test_opcodes_supported_changed_cb()
2625 media_proxy_pl_search_cb(media_player.search_results_id); in mpl_test_search_results_changed_cb()