[FFmpeg-devel] [PATCH] Fix some warnings in NUT (de)muxer
Vitor Sessak
vitor1001
Sun Mar 28 12:00:12 CEST 2010
Michael Niedermayer wrote:
> On Fri, Mar 26, 2010 at 09:23:33PM +0100, Vitor Sessak wrote:
>> Michael Niedermayer wrote:
>>> On Wed, Mar 24, 2010 at 09:03:31PM +0100, Vitor Sessak wrote:
>>>> Michael Niedermayer wrote:
>>>>> On Wed, Mar 24, 2010 at 08:35:24PM +0100, Vitor Sessak wrote:
>>>>>> $subj.
>>>>>>
>>>>>> Patch 1:
>>>>>> libavformat/nutdec.c: In function ?read_seek?:
>>>>>> libavformat/nutdec.c:862: warning: passing argument 3 of
>>>>>> ?av_tree_find? from incompatible pointer type
>>>>>> ./libavutil/tree.h:44: note: expected ?int (*)(void *, const void
>>>>>> *)? but argument is of type ?int (*)(struct Syncpoint *, struct
>>>>>> Syncpoint *)?
>>>>>> libavformat/nutdec.c:871: warning: passing argument 3 of
>>>>>> ?av_tree_find? from incompatible pointer type
>>>>>> ./libavutil/tree.h:44: note: expected ?int (*)(void *, const void
>>>>>> *)? but argument is of type ?int (*)(struct Syncpoint *, struct
>>>>>> Syncpoint *)?
>>>>>> libavformat/nutdec.c:879: warning: passing argument 3 of
>>>>>> ?av_tree_find? from incompatible pointer type
>>>>>> ./libavutil/tree.h:44: note: expected ?int (*)(void *, const void
>>>>>> *)? but argument is of type ?int (*)(struct Syncpoint *, struct
>>>>>> Syncpoint *)?
>>>>>> CC libavformat/nutenc.o
>>>>>> libavformat/nutenc.c: In function ?write_packet?:
>>>>>> libavformat/nutenc.c:680: warning: passing argument 3 of
>>>>>> ?av_tree_find? from incompatible pointer type
>>>>>> ./libavutil/tree.h:44: note: expected ?int (*)(void *, const void
>>>>>> *)? but argument is of type ?int (*)(struct Syncpoint *, struct
>>>>>> Syncpoint *)?
>>>>>>
>>>>>> Patch 2:
>>>>>> libavformat/nutdec.c: In function ?read_seek?:
>>>>>> libavformat/nutdec.c:862: warning: passing argument 4 of
>>>>>> ?av_tree_find? from incompatible pointer type
>>>>>> ./libavutil/tree.h:44: note: expected ?void **? but argument is of
>>>>>> type ?struct Syncpoint **?
>>>>>> libavformat/nutdec.c:871: warning: passing argument 4 of
>>>>>> ?av_tree_find? from incompatible pointer type
>>>>>> ./libavutil/tree.h:44: note: expected ?void **? but argument is of
>>>>>> type ?struct Syncpoint **?
>>>>>>
>>>>>> -Vitor
>>>>>> nut.c | 11 ++++++++---
>>>>>> nut.h | 4 ++--
>>>>>> 2 files changed, 10 insertions(+), 5 deletions(-)
>>>>>> 4fb6aa0edd5e782f70ef9b755e04262c98ece7cf nut_warnings.diff
>>>>>> Index: libavformat/nut.c
>>>>>> ===================================================================
>>>>>> --- libavformat/nut.c (revision 22644)
>>>>>> +++ libavformat/nut.c (working copy)
>>>>>> @@ -47,11 +47,15 @@
>>>>>> return ((lsb - delta)&mask) + delta;
>>>>>> }
>>>>>> -int ff_nut_sp_pos_cmp(Syncpoint *a, Syncpoint *b){
>>>>>> +int ff_nut_sp_pos_cmp(void *ap, const void *bp){
>>>>>> + Syncpoint *a = ap;
>>>>>> + const Syncpoint *b = bp;
>>>>>> return ((a->pos - b->pos) >> 32) - ((b->pos - a->pos) >> 32);
>>>>>> }
>>>>>> -int ff_nut_sp_pts_cmp(Syncpoint *a, Syncpoint *b){
>>>>>> +int ff_nut_sp_pts_cmp(void *ap, const void *bp){
>>>>>> + Syncpoint *a = ap;
>>>>>> + const Syncpoint *b = bp;
>>>>>> return ((a->ts - b->ts) >> 32) - ((b->ts - a->ts) >> 32);
>>>>>> }
>>>>>>
>>>>> fix gcc instead or just cast the function pointer to void*
>>>> Used the cast, but added "const" to the type to make it more correct
>>>> (attached).
>>> both args should be const
>> Like attached?
>>
>> BTW, why don't libavutil/tree.h functions do not get as params
>>
>> int (*cmp)(const void *key, const void *b)
>>
>> intead of
>>
>> int (*cmp)(void *key, const void *b)
>
> dont know
>
>
>> ? But in any way this is unrelated to the attached patch.
>>
>> -Vitor
>
>> nut.c | 6 +++---
>> nut.h | 4 ++--
>> nutdec.c | 9 ++++++---
>> nutenc.c | 3 ++-
>> 4 files changed, 13 insertions(+), 9 deletions(-)
>> 0a035119ecc838dadca54319e47f2b45a135a66d nut_warnings4.diff
>
> ok
Applied.
-Vitor
More information about the ffmpeg-devel
mailing list