All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
To: Luiz Augusto von Dentz <luiz.dentz@gmail.com>
Cc: "linux-bluetooth@vger.kernel.org" <linux-bluetooth@vger.kernel.org>
Subject: Re: [PATCH] android/client: Add AVRCP register_notification_rsp support
Date: Wed, 26 Mar 2014 13:16:52 +0200	[thread overview]
Message-ID: <5332B724.6080205@linux.intel.com> (raw)
In-Reply-To: <CABBYNZKFX5qi=J08Ez4nsSajZNs-PFyJjj5rgAA9bpV5av4YBA@mail.gmail.com>


On 03/26/2014 01:11 PM, Luiz Augusto von Dentz wrote:
> Hi Ravi,
>
> On Tue, Mar 25, 2014 at 5:05 PM, Ravi kumar Veeramally
> <ravikumar.veeramally@linux.intel.com> wrote:
>> Input for this call doesn't require all parameters of structure
>> to be filled at the same time. Input data depepnds on event_id
>> and type. Implemented this api support based on
>> android/hal_avrcp.c:register_notification_rsp.
>> ---
>>   android/client/if-rc.c | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++
>>   1 file changed, 74 insertions(+)
>>
>> diff --git a/android/client/if-rc.c b/android/client/if-rc.c
>> index 31efc29..2bd7f6d 100644
>> --- a/android/client/if-rc.c
>> +++ b/android/client/if-rc.c
>> @@ -54,6 +54,20 @@ SINTMAP(btrc_status_t, -1, "(unknown)")
>>          DELEMENT(BTRC_STS_NO_ERROR),
>>   ENDMAP
>>
>> +SINTMAP(btrc_event_id_t, -1, "(unknown)")
>> +       DELEMENT(BTRC_EVT_PLAY_STATUS_CHANGED),
>> +       DELEMENT(BTRC_EVT_TRACK_CHANGE),
>> +       DELEMENT(BTRC_EVT_TRACK_REACHED_END),
>> +       DELEMENT(BTRC_EVT_TRACK_REACHED_START),
>> +       DELEMENT(BTRC_EVT_PLAY_POS_CHANGED),
>> +       DELEMENT(BTRC_EVT_APP_SETTINGS_CHANGED),
>> +ENDMAP
>> +
>> +SINTMAP(btrc_notification_type_t, -1, "(unknown)")
>> +       DELEMENT(BTRC_NOTIFICATION_TYPE_INTERIM),
>> +       DELEMENT(BTRC_NOTIFICATION_TYPE_CHANGED),
>> +ENDMAP
>> +
>>   static char last_addr[MAX_ADDR_STR_LEN];
>>
>>   static void remote_features_cb(bt_bdaddr_t *bd_addr,
>> @@ -294,6 +308,59 @@ static void set_player_app_value_rsp_p(int argc, const char **argv)
>>          EXEC(if_rc->set_player_app_value_rsp, rsp_status);
>>   }
>>
>> +/* register_notification_rsp */
>> +
>> +static void register_notification_rsp_c(int argc, const char **argv,
>> +                                       enum_func *enum_func, void **user)
>> +{
>> +       if (argc == 3) {
>> +               *user = TYPE_ENUM(btrc_event_id_t);
>> +               *enum_func = enum_defines;
>> +       }
>> +
>> +       if (argc == 4) {
>> +               *user = TYPE_ENUM(btrc_notification_type_t);
>> +               *enum_func = enum_defines;
>> +       }
>> +}
>> +
>> +static void register_notification_rsp_p(int argc, const char **argv)
>> +{
>> +       btrc_event_id_t event_id;
>> +       btrc_notification_type_t type;
>> +       btrc_register_notification_t reg;
>> +
>> +       RETURN_IF_NULL(if_rc);
>> +
>> +       memset(&reg, 0, sizeof(reg));
>> +       event_id = str2btrc_event_id_t(argv[2]);
>> +       type = str2btrc_notification_type_t(argv[3]);
>> +
>> +       switch (event_id) {
>> +       case BTRC_EVT_PLAY_STATUS_CHANGED:
>> +               reg.play_status = str2btrc_play_status_t(argv[4]);
>> +               break;
>> +
>> +       case BTRC_EVT_TRACK_CHANGE:
>> +               reg.track[0] = strtoull(argv[5], NULL, 10);
> You probably need to store the result in a uint64_t variable and
> memcpy otherwise this will probably truncate the value to maximum of
> uint8_t which 255.
  Ok.
>
>> +               break;
>> +
>> +       case BTRC_EVT_TRACK_REACHED_END:
>> +       case BTRC_EVT_TRACK_REACHED_START:
>> +               break;
>> +
>> +       case BTRC_EVT_PLAY_POS_CHANGED:
>> +               reg.song_pos = (uint8_t) atoi(argv[4]);
> Same as above, also it perhaps it is a good idea to use strtol since
> atoi does not detect errors.
  Ok.

Thanks,
Ravi.
>
>> +               break;
>> +
>> +       case BTRC_EVT_APP_SETTINGS_CHANGED:
>> +               haltest_error("not supported");
>> +               return;
>> +       }
>> +
>> +       EXEC(if_rc->register_notification_rsp, event_id, type, &reg);
>> +}
>> +
>>   /* cleanup */
>>
>>   static void cleanup_p(int argc, const char **argv)
>> @@ -311,6 +378,13 @@ static struct method methods[] = {
>>          STD_METHODCH(get_element_attr_rsp, "<num_attr> <attrs_id> <value>"),
>>          STD_METHODCH(set_player_app_value_rsp, "<rsp_status>"),
>>          STD_METHODCH(set_volume, "<volume>"),
>> +       STD_METHODCH(register_notification_rsp,
>> +                       "<event_id> <type> <respective_data...>\n"
>> +                       "BTRC_EVT_PLAY_STATUS_CHANGED <type> <play_status>\n"
>> +                       "BTRC_EVT_TRACK_CHANGE <type> <track>\n"
>> +                       "BTRC_EVT_TRACK_REACHED_END <type>\n"
>> +                       "BTRC_EVT_TRACK_REACHED_START <type>\n"
>> +                       "BTRC_EVT_PLAY_POS_CHANGED <type> <song_pos>\n"),
>>          STD_METHOD(cleanup),
>>          END_METHOD
>>   };
>> --
>> 1.8.3.2
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>


      reply	other threads:[~2014-03-26 11:16 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-25 15:05 [PATCH] android/client: Add AVRCP register_notification_rsp support Ravi kumar Veeramally
2014-03-26 11:11 ` Luiz Augusto von Dentz
2014-03-26 11:16   ` Ravi kumar Veeramally [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5332B724.6080205@linux.intel.com \
    --to=ravikumar.veeramally@linux.intel.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=luiz.dentz@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.