Recherche avancée

Médias (91)

Autres articles (41)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (7528)

  • FFmpeg : Specify pixel format for STD_IN input

    27 février 2024, par ShadowMagic896

    This is the current command :

    


    ffmpeg -i pipe:0 -pix_fmt yuv420p -f mp4 -vf "transpose=1" -f matroska pipe:1

    


    Essentially, it takes an MP4 file, rotates it 90 degrees, and converts it back to mtk and outputs it to STD_OUT.

    


    This is the error :

    


    WARNING:root:[mov,mp4,m4a,3gp,3g2,mj2 @ 000001ff9979dd00] stream 0, offset 0x50: partial file
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001ff9979dd00] Could not find codec parameters for stream 0 (Video: h264 (avc1 / 0x31637661), none, 170x144, 32 kb/s): unspecified pixel format
Consider increasing the value for the 'analyzeduration' (0) and 'probesize' (5000000) options
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'pipe:0':
  Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
    creation_time   : 2024-02-26T20:53:03.000000Z
  Duration: 00:00:03.88, start: 0.000000, bitrate: N/A
  Stream #0:0[0x1](und): Video: h264 (avc1 / 0x31637661), none, 170x144, 32 kb/s, 30 fps, 30 tbr, 30k tbn (default)
      Metadata:
        creation_time   : 2024-02-26T20:53:03.000000Z
        handler_name    : VideoHandler
        vendor_id       : [0][0][0][0]
        encoder         : AVC Coding
  Stream #0:1[0x2](und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 192 kb/s (default)
      Metadata:
        creation_time   : 2024-02-26T20:53:03.000000Z
        handler_name    : SoundHandler
        vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> vorbis (libvorbis))
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001ff9979dd00] stream 0, offset 0x50: partial file
[in#0/mov,mp4,m4a,3gp,3g2,mj2 @ 000001ff9978b080] Error during demuxing: Invalid data found when processing input
Cannot determine format of input 0:0 after EOF
[vf#0:0 @ 000001ff997d6040] Task finished with error code: -1094995529 (Invalid data found when processing input)
[vf#0:0 @ 000001ff997d6040] Terminating thread with return code -1094995529 (Invalid data found when processing input)
[aost#0:1/libvorbis @ 000001ff99cd1780] No filtered frames for output stream, trying to initialize anyway.
[vost#0:0/libx264 @ 000001ff997d4fc0] Could not open encoder before EOF
[vost#0:0/libx264 @ 000001ff997d4fc0] Task finished with error code: -22 (Invalid argument)
[vost#0:0/libx264 @ 000001ff997d4fc0] Terminating thread with return code -22 (Invalid argument)
[out#0/matroska @ 000001ff997a6180] Nothing was written into output file, because at least one of its streams received no packets.
frame=    0 fps=0.0 q=0.0 Lsize=       0KiB time=N/A bitrate=N/A speed=N/A    
Conversion failed!


    


    I am running this via Python, this is the script :

    


        async def send_proc_pipe(self) -> bytes:

        command = f"ffmpeg -hide_banner -loglevel error -i pipe:0 -pix_fmt yuv420p -f mp4 -vf \"transpose=1\" -f matroska pipe:1"

        proc = await asyncio.create_subprocess_shell(
            cmd=command,
            stdin=asyncio.subprocess.PIPE,
            stdout=asyncio.subprocess.PIPE,
            stderr=asyncio.subprocess.PIPE
        )
        
        std_in = self.blob

        c_out, c_err = await proc.communicate(std_in)
        if c_err:
            logging.warning(c_err.decode("utf-8"))

        return c_out


    


    I'm not really use what else to try here. I've re-ordered the parameters and tried different pixel formats with no success.

    


  • Consent management platforms : Keys to compliance and user trust

    14 juin, par Joe

    Today’s marketing managers and data analysts face a tricky balancing act : gaining meaningful customer insights while respecting user privacy. Finding ways to navigate the maze of complex privacy regulations while managing consent at scale can be daunting. 

    Consent management platforms (CMPs) offer a solution. They allow companies to collect data ethically, manage user consent efficiently, and comply with privacy regulations like Europe’s General Data Protection Regulation (GDPR) and the California Consumer Privacy Act (CCPA).

    This guide explains everything you need to know about CMPs : how they function, why they’re essential for data governance, and how they work hand-in-hand with analytics platforms to promote transparency and build trust with users.

    What is a consent management platform (CMP) and what is it for ?

    A consent management platform (CMP) helps organisations collect, organise, and store user consent for personal data processing purposes. In short, it’s a tool that ensures data collection respects user privacy and complies with regulations like the GDPR and CCPA.

    Without a CMP, businesses could face hefty fines and penalties for violating data privacy laws in different parts of the world. This shows how vital these tools are to all modern businesses.

    How do consent management platforms work ?

    CMPs give users a clear and straightforward way to provide explicit consent for data collection. These platforms manage both the technical aspects of consent storage and the user experience on your site or app.

    Here’s a simplified breakdown :

    • Cookie consent banners : The CMP displays a banner whenever a user visits your website. This banner explains the types of personal information collected and for what purpose.
    • User choice : The user can accept or reject cookies and trackers. They can often customise their preferences to choose which specific data types they’re willing to share.
    • Preference storage : The CMP stores the user’s choices. This information helps ensure that you only collect and process the permitted data.
    • Integration with other systems : CMPs integrate with other systems, such as analytics platforms and advertising networks, to ensure that data collection and processing comply with the user’s choices throughout the customer experience.
    Schematics of the UX of a website user under consent management.

    A key feature of CMPs is their role in shaping privacy policy design. This design encompasses the layout, visual elements, and cues employed to seek user consent.

    A recent study by Karlstad University in Sweden showed that privacy policy design significantly influences user comprehension and willingness to disclose information. In other words, it affects consent rates considerably and is key to enhancing data collection.

    Importance of consent management for compliance

    As the world becomes increasingly interconnected, consent management is taking centre stage. Although it applies to all technologies and systems that gather or handle personal data, few instances are as relevant as smart homes.

    Smart home devices have unique access to our personal spaces and private lives. They represent a unique challenge to consent management since one person is potentially granting access to personal data from themselves and other people who may be inside or around the house.

    A 2023 study by the University College London and the University of Oxford pointed out that clear design principles and granular, contextual permission structures are essential in these situations.

    However, consent management isn’t just best practice. It’s a widespread legal requirement. Not meeting these requirements can result in hefty penalties and reputational damage to your organisation.

    Consent management under GDPR

    The European Union’s GDPR is a data protection law applicable to organisations that process the personal data of individuals residing in the European Economic Area (EEA). It’s based on the principle of opting in.

    The GDPR is one of the strongest data privacy laws globally. For non-compliance, fines can be up to €20 million or 4% of the company’s total global turnover (whichever is higher).

    It’s also one of the most heavily enforced privacy laws. According to enforcementtracker.com, Meta was fined €1.2 billion in 2023, with GDPR fines reaching over €2 billion that year alone. In the UK, the largest GDPR fine is €22.05 million, according to Statista. It pays to comply.

    The GDPR has specific rules around consent, including that it must be :

    • Freely given : Users must not be pressured or coerced.
    • Specific : Must be given for specific data processing purposes.
    • Informed : Users must be provided with clear and concise information.
    • Unambiguous : Permission must be granted through clear and affirmative action, such as checking a box or tapping a button.

    CMPs help you meet these requirements by providing a transparent and user-friendly way to obtain and manage consent.

    Consent management under CCPA

    The CCPA is another privacy protection law for businesses collecting personal information from California residents. It grants Californians the right to know what data is being collected about them, to prevent it from being sold, and to request its deletion.

    CMPs support CCPA compliance by enabling users to exercise their rights and ensuring transparent data collection practices.

    Managing consent under other regulatory frameworks

    In addition to the GDPR and CCPA, numerous other privacy regulations can impact your organisation. These regulations include :

    • The COPPA in the US
    • Brazil’s LGPD
    • Japan’s APPI
    • Canada’s PIPEDA.
    • Australia’s Privacy Act 1988 

    A CMP will help streamline the process by providing a clear, practical framework to ensure you meet all applicable requirements.

    Key features to look for in a CMP

    Choosing the right CMP is crucial for global business.

    Here are some key features to consider :

    Custom banners

    Consent banners are often among users’ first digital interactions with your brand. It should be clear, concise and visually appealing. Look for a CMP that allows you to :

    • Customise the banner’s design to match your website’s branding and aesthetics.
    • Control the banner’s positioning for optimal visibility.

    End-user management tools

    The CMP should also offer a user-friendly interface allowing visitors to grant, manage and withdraw consent.

    This includes customisable banners, granular permissions, and a preference centre. The latter is a dedicated space where users can manage their preferences anytime.

    Integration capabilities with existing systems

    The CMP should integrate with your existing technology stack, including your analytics platform, marketing automation tools and CRM. This integration ensures a smooth workflow and prevents data silos.

    How to select the right CMP for your organisation

    To find the perfect CMP, focus on your specific needs and priorities. Here’s a step-by-step guide to help you make an informed decision :

    Assessing organisational needs and goals

    Start by clearly defining your organisation’s requirements. Consider the following :

    • Types of data collected : What personal data do you collect (for example, cookies, IP addresses, location data) ?
    • Compliance requirements : Which privacy regulations must you comply with (GDPR, CCPA, COPPA) ?
    • Website or app complexity : How complex is your website or app in terms of user interactions and data collection points ?
    • Budget : How much are you willing to invest in a CMP ?

    Comparing features and pricing

    Once you thoroughly understand your needs, you can compare the features and pricing of various CMPs. Look for key features like :

    • Customisable banners
    • Granular options
    • Preference centre
    • Integration with existing systems
    • Analytics and reporting

    Once you’ve shortlisted a few options, compare the pricing and choose the best value for your budget. Take advantage of free trials before committing to a paid plan.

    Checking verified user reviews

    Read user reviews on platforms like G2 or Trustpilot to get an idea of the strengths and weaknesses of different CMPs. Look for reviews from similar organisations regarding size, industry and compliance requirements.

    Integration with a privacy-focused analytics platform

    A consent management platform acts as the bridge between your users and your analytics and marketing teams. It ensures user preferences are communicated to your analytics setup, so data collection and analysis align with their choices and comply with privacy regulations. 

    Finding a consent manager integration that works with your analytics setup is essential for businesses.

    Top five consent management platforms

    The CMP market is pretty competitive, with many players providing excellent solutions. According to Emergen Research, it was valued at $320.9 million in 2021 and is growing at 21.2%.

    Here are five of our top choices 

    1. usercentrics

    usercentrics is a comprehensive CMP with customisable banners, granular consent options and a preference centre.

    usercentrics geolocation rulesets page

    usercentrics geolocation rulesets page (Source : Usercentrics)

    This Google-certified CMP allows you to create global and regional consent rules to ensure compliance with local regulations like GDPR, CCPA and LGPD. For a smooth implementation, usercentrics provides access to a knowledgeable support team and a dedicated customer success executive.

    It’s worth noting that Usercentrics is the CMP we use here at Matomo. It helps us in our mission to collect and analyse data ethically and with a privacy-first mindset.

    • Key features : Customisable banners, granular permissions, cross-domain and cross-device capabilities, automatic website scans, reporting and analytics.
    • Pricing : Usercentrics offers a free plan and four paid subscription plans from €7 to €50 per month.

    2. Osano

    Osano is a user-friendly CMP focusing on transparency and ease of use.

    Osano main dashboard

    Osano’s main dashboard (Source : Osano)

    Osano can scan websites for tracking technologies without impacting the user experience.

    • Key features : Customisable banners, multi-language support, granular consent options, a preference centre and access to a knowledgeable team of compliance specialists.
    • Pricing : Osano offers a self-service free plan and a paid plan at $199 per month.

    3. Cookiebot

    Cookiebot is another popular CMP with numerous integration options, including Matomo and other analytics tools. 

    Cookiebot consent banner options

    Cookiebot consent banner options (Source : Cookiebot)

    • Key features : A cookie scanner, a privacy trigger or button allowing users to change their consent settings, a consent management API and advanced analytics.
    • Pricing : Cookiebot offers a free plan and paid plans ranging from €7 to €50 per month.

    4. CookieYes

    CookieYes is well-suited for small businesses and websites with basic privacy needs. 

    CookieYes cookie banner options

    CookieYes cookie banner options (Source : CookieYes)

    It offers various features, including multilingual support, geo-targeting, privacy policy generation, and a preference centre. CookieYes also integrates with analytics and CMS tools, making it easy to implement as part of your stack.

    • Key features : Customisable consent banners, granular consent options, preference centre, integration with Matomo, reporting and analytics.
    • Pricing : You can use CookieYes for free or subscribe to one of their three paid plans, which range from $10 to $55 per month.

    5. Tarte au Citron

    Tarte au Citron is an open-source, lightweight, and customisable CMP developed in France.

    tarte au citron cmp

    (Source : Tarte au Citron)

    Its focus is on transparency and user experience. It provides many features free of charge, but many do require some technical knowledge to deploy. There’s also a paid subscription with ongoing support and faster implementation.

    Tarte au Citron integrates with Matomo, which is also open-source. If you’re building an open-source stack for your analytics, Matomo and Tarte au Citron make an excellent pair.

    • Key features : Open-source, customisable consent banners, integration with Matomo, works with over 220 services.
    • Pricing : You can deploy the open-source core for free, but Tarte au Citron offers three paid licenses starting at €190 for one year and reaching €690 for a lifetime license.

    How to implement cookie consent the right way

    Implementing cookie consent requires precision, time and effort. But doing it wrong can result in significant legal penalties and severe reputational damage, eroding user trust and impacting your brand’s standing. Here are the key dos and don’ts of consent :

    A simple graphic showing seven best practices for cookie consent implementation.

    Provide clear and concise information

    Use plain language that is easy for anyone to understand. Avoid using technical terms or legal jargon that may confuse users.

    Prioritise transparency

    Be upfront about your data collection practices. Clearly state what data you collect, how you use it and who you share it with. Provide links to your privacy and cookie policies for users who want to learn more.

    Offer granular control

    Give users detailed control over as many of their cookie preferences as possible. Allow them to choose which categories of tracking cookies they consent to, such as strictly necessary, performance and marketing cookies.

    Implement user-friendly banners

    Ensure banners are prominently displayed, easy to understand, and use clear and concise language. Also, make sure they’re accessible to all users, including those with disabilities.

    Respect “do not track” settings

    It’s essential to honour users’ choices when they enable their “do not track” browser setting.

    Document consent

    Maintain a record of user consent. This will help you demonstrate compliance with data privacy regulations and provide evidence of user consent in case of an audit or investigation.

    Regularly review and update consent policies

    Review and update your customer consent policies regularly to ensure they comply with evolving data privacy regulations and reflect your current data collection practices.

    Cookie consent pitfalls to avoid

    Here are some common pitfalls to avoid that may lead to legal penalties, loss of user trust or inaccurate analytics :

    • Avoid lengthy and complicated explanations. Overwhelming users with dense legal jargon or overly technical details can lead to consent fatigue and reduce the likelihood of informed consent.
    • Don’t force users to accept all cookies or none. Blanket consent options violate user autonomy and fail to comply with regulations like the GDPR.
    • Don’t make information about your data collection practices hard to find. Hidden or buried privacy policies breed suspicion and erode trust.
    • Avoid pre-checking all cookie consents. Pre-checked boxes imply consent without explicit user action, which is not compliant with GDPR and similar regulations. Users must actively opt in, not out.

    Emerging consent management trends 

    Consent management is constantly evolving and driven by new technologies, regulations, and user expectations. Here are some emerging trends to watch out for in the short term :

    • Increased automation : AI and machine learning are helping automate consent management processes, making them more efficient and effective.
    • Enhanced user experience : CMPs are becoming more user-friendly, focusing on providing an intuitive experience.
    • Privacy-preserving analytics : CMPs are being integrated with privacy-preserving analytics platforms, such as Matomo, to enable organisations to gain insights into user behaviour without compromising privacy.
    • Google Consent Mode : In 2024, Google rolled out Consent Mode v2 to align with the Digital Markets Act. Due to upcoming privacy regulations, more versions may be coming soon.

    The Privacy Governance Report 2024 also highlights the increasing complexity of managing data privacy, with more than four in five privacy professionals taking on additional responsibilities in their existing roles. This trend will likely continue in the coming years as more privacy laws are enacted.

    Addressing upcoming privacy regulations

    Data privacy and user consent requirements continue to emerge and evolve. Businesses must stay informed and adapt their practices accordingly.

    US Map showing upcoming privacy regulations

    In 2025, several new privacy regulations are going into effect, including :

    • New state-level privacy laws in eight US states :
      • Delaware (1 January 2025)
      • Iowa (1 January 2025)
      • Nebraska (1 January 2025)
      • New Hampshire (1 January 2025)
      • New Jersey (15 January 2025)
      • Tennessee (1 July 2025)
      • Minnesota (31 July 2025)
      • Maryland (1 October 2025)
    • The EU’s Artificial Intelligence Act (which will be implemented from 1 August 2024 through 2 August 2026) and other AI-focused regulations.
    • The UK Adequacy Decision Review has a deadline of 27 December 2025.

    Organisations that collect, process or otherwise handle data from Europe and the above-named US states should proactively prepare for these changes by :

    • Conducting regular privacy impact assessments
    • Reviewing consent mechanisms regularly
    • Implementing data minimisation strategies
    • Providing user-friendly privacy controls

    Future-proofing your consent management strategy

    CMPs are essential for managing consent preferences, protecting user privacy, and earning customers’ trust through transparency and ethical data practices.

    When choosing a CMP, you should consider key features such as integration capabilities, customisation options and user-friendly interfaces.

    Integrating a CMP with a privacy-first analytics solution like Matomo allows you to collect and analyse data in a way that’s compliant and respectful of user preferences. This combination helps maintain data integrity while demonstrating a strong commitment to privacy. 

    Start your 21-day free trial today.

  • Flutter ffmpeg_kit_flutter_new can't build Android app in any version

    13 mai, par user31929

    I can't build my project on Android ( on Ios it works and the project itself without ffmpeg_kit_flutter_new builds without problems )
This is the error i obtain :

    


    /GeneratedPluginRegistrant.java:51: error: cannot find symbol
      com.antonkarpenko.ffmpegkit.MainActivity.registerWith(shimPluginRegistry.registrarFor("com.antonkarpenko.ffmpegkit.MainActivity"));
                                 ^
  symbol:   class MainActivity
  location: package com.antonkarpenko.ffmpegkit


    


    This is my flutter doctor :

    


    [✓] Flutter (Channel stable, 3.19.4, on macOS 15.4.1 24E263 darwin-x64, locale it-IT)
    • Flutter version 3.19.4 on channel stable at ….
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 68bfaea224 (1 year, 2 months ago), 2024-03-20 15:36:31 -0700
    • Engine revision a5c24f538d
    • Dart version 3.3.2
    • DevTools version 2.31.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at …..
    • Platform android-35, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16E140
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] VS Code (version 1.99.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.110.0

[✓] Connected device (5 available)
    • SM A135F (mobile)              • RF8T40TMS6Z               • android-arm    • Android 12 (API 31)
    • cri SE 128 (mobile)      • 00008030-001268303E38402E • ios            • iOS 18.4.1 22E252
    • iPhone di WacMini (mobile) • 00008030-00121D543CE8802E • ios            • iOS 18.4.1 22E252
    • macOS (desktop)                • macos                     • darwin-x64     • macOS 15.4.1 24E263 darwin-x64
    • Chrome (web)                   • chrome                    • web-javascript • Google Chrome 136.0.7103.93

[✓] Network resources
    • All expected network resources are available.


    


    My android/app/build.gradle

    


    def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
    localPropertiesFile.withReader('UTF-8') { reader ->
        localProperties.load(reader)
    }
}

def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
    keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}

def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
    throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'org.jetbrains.kotlin.android'


android {

    compileSdkVersion 35

    namespace = "com.app.app"
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }

    defaultConfig {
        applicationId "com.appid.appid"
        minSdkVersion 24
        targetSdkVersion 35
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
       
        // insert this line of code in order to manage correct build abi configuration only on supported devices not supported tablet device emulator
       /* ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
        }*/
    }

    signingConfigs {
        release {
            keyAlias keystoreProperties['keyAlias']
            keyPassword keystoreProperties['keyPassword']
            storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
            storePassword keystoreProperties['storePassword']
        }
    }

    buildTypes {
        debug {
            debuggable true
        }

        release {
            signingConfig signingConfigs.release
            debuggable false
            shrinkResources true
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

}

flutter {
    source '../..'
}

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.24"
}


    


    My android/build.gradle

    


    buildscript {
    ext.kotlin_version = '1.9.24'
    repositories {
        google()
        mavenCentral()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:8.4.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.3.14'
        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }

    
    subprojects {
        tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
            kotlinOptions.jvmTarget = "1.8"
        }
        afterEvaluate { project ->
            if (project.hasProperty('android')) {
                project.android {
                    if (namespace == null) {
                        namespace project.group
                    }
                }
            }
        }
    }
    
}


ext {
    flutterFFmpegPackage = "min-gpl-lts"
}


rootProject.buildDir = '../build'
subprojects {
    project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
    project.evaluationDependsOn(':app')
}

tasks.register("clean", Delete) {
    delete rootProject.buildDir
}


    


    My gradle.wrapper.properties

    


    distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip


    


    What i have already tried :

    


      

    • flutter clean/flutter pub get
    • 


    • remove .gradle folder/flutter clean/flutter pub get
    • 


    • remove GeneratedPluginRegistrant.java file then remove .gradle/flutter clean/flutter pub get
    • 


    


    I have this issue in every version of the plugin. There is something wrong in my configurations or maybe this is a plugin issue ?