Re: [PATCH BlueZ 1/4] AVRCP: move MediaPlayer to adapter object

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Andrei,

On Thu, Oct 6, 2011 at 10:52 AM, Andrei Emeltchenko
<andrei.emeltchenko.news@xxxxxxxxx> wrote:
> Hi Luiz,
>
> On Thu, Oct 06, 2011 at 04:35:26PM +0300, Luiz Augusto von Dentz wrote:
>> Hi Andrei,
>>
>> On Thu, Oct 6, 2011 at 3:24 PM, Andrei Emeltchenko
>> <andrei.emeltchenko.news@xxxxxxxxx> wrote:
>> > Hi guys,
>> >
>> > On Thu, Oct 06, 2011 at 11:16:47AM +0300, Johan Hedberg wrote:
>> >> Hi Luiz,
>> >>
>> >> On Wed, Oct 05, 2011, Luiz Augusto von Dentz wrote:
>> >> > This move the MediaPlayer registration to adapter object on Media
>> >> > interface so we can track players properly.
>> >> > ---
>> >> >  audio/avrcp.c     |  840 +++++++++++------------------------------------------
>> >> >  audio/avrcp.h     |   67 ++++-
>> >> >  audio/device.c    |    3 -
>> >> >  audio/device.h    |    2 -
>> >> >  audio/manager.c   |    7 -
>> >> >  audio/media.c     |  784 +++++++++++++++++++++++++++++++++++++++++++++++++
>> >> >  doc/media-api.txt |  163 +++++++++++
>> >> >  7 files changed, 1179 insertions(+), 687 deletions(-)
>> >>
>> >> All four patches have been applied. Thanks.
>> >
>> > Can it cause this:
>> >
>> > $ LANG=en make
>> > make --no-print-directory all-am
>> >  CC     audio/media.o
>> > cc1: warnings being treated as errors
>> > audio/media.c: In function 'get_setting':
>> > audio/media.c:1106:44: error: cast to pointer from integer of different
>> > size
>> > make[1]: *** [audio/media.o] Error 1
>> > make: *** [all] Error 2
>> >
>> > in the line below:
>> >        <------8<-------------------------------------------------------------
>> >        |  value = g_hash_table_lookup(mp->settings, GUINT_TO_POINTER(attr));
>> >        <------8<-------------------------------------------------------------
>> >
>> > Is patch below OK?
>> >
>> > @@ -1103,7 +1103,8 @@ static int get_setting(uint8_t attr, void
>> > *user_data)
>> >
>> >        DBG("%s", attr_to_str(attr));
>> >
>> > -       value = g_hash_table_lookup(mp->settings, GUINT_TO_POINTER(attr));
>> > +       value = g_hash_table_lookup(mp->settings,
>> > +                                       GUINT_TO_POINTER((uint32_t) attr));
>> >        if (!value)
>> >                return -EINVAL;
>>
>> Are you using 32 bits? At least Im running 64 bit and Im not seeing
>> this problem.
>
> Yes, 32 bits.
>
> I found this define:
>
> /usr/lib/i386-linux-gnu/glib-2.0/include/glibconfig.h:#define
> GUINT_TO_POINTER(u)     ((gpointer)  (u))

Doc from glib 2.28 says it should have a cast to gulong. From glib's
source, we have this:

configure.ac:
case $ac_cv_sizeof_void_p in
$ac_cv_sizeof_int)
  glib_intptr_type_define=int
  gintptr_modifier='""'
  gintptr_format='"i"'
  guintptr_format='"u"'
  glib_gpi_cast=''
  glib_gpui_cast=''

...

#define GUINT_TO_POINTER(u)        ((gpointer) ${glib_gpui_cast} (u))


I think this should be filed as a bug in glib. The fix would be to
make glib_gpui_cast='guint'



Lucas De Marchi
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux