[vlc-devel] [PATCH] taglib: Fix build on x86 32-bit

Steve Lhomme robux4 at ycbcr.xyz
Mon Mar 11 06:26:32 UTC 2024


Hi,

Issues should be reported on our Gitlab.

3.0 currently only support taglib 1.x. VLC 4.0 has the proper fixes for 
Taglib 2.0. We just need to backport these to 3.0. In this case this commit:

https://code.videolan.org/videolan/vlc/-/commit/ec29dfca1e59530dd412d779e0b045079b72ffb6

On 09/03/2024 21:32, Khem Raj wrote:
> While compiling with clang, there are errors seen such as
> on function override signature mismatches
> 
> meta_engine/taglib.cpp:240:10: error: virtual function 'tell' has a different return type ('long') than the function it overrides (which has return type 'offset_t' (aka 'long long'))
>    240 |     long tell() const
>        |     ~~~~ ^
> /mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/vlc/3.0.20/recipe-sysroot/usr/include/taglib/tiostream.h:156:22: note: overridden virtual function is here
>    156 |     virtual offset_t tell() const = 0;
>        |             ~~~~~~~~ ^
> meta_engine/taglib.cpp:245:10: error: virtual function 'length' has a different return type ('long') than the function it overrides (which has return type 'offset_t' (aka 'long long'))
>    245 |     long length()
>        |     ~~~~ ^
> /mnt/b/yoe/master/build/tmp/work/core2-32-yoe-linux/vlc/3.0.20/recipe-sysroot/usr/include/taglib/tiostream.h:161:22: note: overridden virtual function is here
>    161 |     virtual offset_t length() = 0;
>        |             ~~~~~~~~ ^
> 
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>   modules/meta_engine/taglib.cpp | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp
> index 4cbef451b9..e24c848a08 100644
> --- a/modules/meta_engine/taglib.cpp
> +++ b/modules/meta_engine/taglib.cpp
> @@ -284,12 +284,12 @@ public:
>           return;
>       }
>   
> -    long tell() const
> +    offset_t tell() const
>       {
> -        return m_previousPos;
> +        return (offset_t)m_previousPos;
>       }
>   
> -    long length()
> +    offset_t length()
>       {
>           uint64_t i_size;
>           if (vlc_stream_GetSize( m_stream, &i_size ) != VLC_SUCCESS)
> -- 
> 2.44.0
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list