Re: [chromium-dev] Implementing Media Session in Android System Webview

295 views
Skip to first unread message
Message has been deleted

Dale Curtis

unread,
Jun 20, 2024, 2:34:42 PM (12 days ago) Jun 20
to 9991ja...@gmail.com, media-dev, Frank Liberato, Tommy Steimel, Chromium-dev

On Thu, Jun 20, 2024 at 9:58 AM Mohit Raj <9991ja...@gmail.com> wrote:
Hi, I have been trying to implement media session in android system webview. So, my personal browser can use metadata and show on notification bar. I have been trying to use the file MediaSessionImpl.java in webview so it can use native file media_session.cc(Link). So, I have copy pasted the MediaSessionImpl.java (Link) in android_webview/java/src/org/chromium/android_webview/ and called MediaSessionImpl in AwContents.java(Link)
line written : MediaSessionImpl.fromWebContents(mWebContents);)  

Then I got error: 
No suggested deps for org.chromium.android_webview.MediaSessionImpl
No suggested deps for org.chromium.android_webview.MediaSessionImpl
../../android_webview/java/src/org/chromium/android_webview/AwContents.java:57: error: cannot find symbol
import org.chromium.android_webview.MediaSessionImpl;
                                   ^
  symbol:   class MediaSessionImpl
  location: package org.chromium.android_webview
gen/android_webview/browser_java/generated_java/input_srcjars/org/chromium/android_webview/AwContentsJni.java:57: error: cannot find symbol
import org.chromium.android_webview.MediaSessionImpl;
                                   ^
  symbol:   class MediaSessionImpl
  location: package org.chromium.android_webview
../../android_webview/java/src/org/chromium/android_webview/AwContents.java:1800: error: cannot find symbol
        MediaSessionImpl.fromWebContents(mWebContents);
        ^
  symbol:   variable MediaSessionImpl
  location: class AwContents
3 errors
ninja: build stopped: subcommand failed.
Then I added these lines in BUILD.gn android_library("browser_java") { sources =[ 

"java/src/org/chromium/android_webview/MediaSessionImpl.java",

That issue got resolved and got new error:

import org.chromium.services.media_session.MediaMetadata;
       ^
../../android_webview/java/src/org/chromium/android_webview/MediaSessionImpl.java:158: error: could not resolve MediaMetadata
    private void mediaSessionMetadataChanged(MediaMetadata metadata) {
                                             ^
../../android_webview/java/src/org/chromium/android_webview/MediaSessionImpl.java:17: error: symbol not found org.chromium.services.media_session.MediaImage
import org.chromium.services.media_session.MediaImage;
       ^
../../android_webview/java/src/org/chromium/android_webview/MediaSessionImpl.java:180: error: could not resolve MediaImage
    private void mediaSessionArtworkChanged(MediaImage[] images) {
                                            ^
../../android_webview/java/src/org/chromium/android_webview/MediaSessionImpl.java:19: error: symbol not found org.chromium.services.media_session.MediaPosition
import org.chromium.services.media_session.MediaPosition;
       ^
../../android_webview/java/src/org/chromium/android_webview/MediaSessionImpl.java:189: error: could not resolve MediaPosition
    private void mediaSessionPositionChanged(@Nullable MediaPosition position) {
                                                       ^

Hint: One or more errors due to missing GN deps.
Hint: Try adding the following to //android_webview:browser_java
    "//services/media_session/public/cpp/android:media_session_java",

Hint: Run the following command to add the missing deps:
    build/gn_editor add --quiet --file android_webview/BUILD.gn --target //android_webview:browser_java --deps //services/media_session/public/cpp/android:media_session_java
 
ninja: build stopped: subcommand failed.

Then I added these lines as hint suggested : BUILD.gn android_library("browser_java") { deps = [ :

"//services/media_session/public/cpp/android:media_session_java",


"//services/media_session/public/cpp/android:media_session_java",

That issue got resolved and got old error again:
import org.chromium.android_webview.MediaSessionImpl;
                                   ^
  symbol:   class MediaSessionImpl
  location: package org.chromium.android_webview
gen/android_webview/browser_java/generated_java/input_srcjars/org/chromium/android_webview/AwContentsJni.java:57: error: cannot find symbol
import org.chromium.android_webview.MediaSessionImpl;
                                   ^
  symbol:   class MediaSessionImpl
  location: package org.chromium.android_webview
../../android_webview/java/src/org/chromium/android_webview/AwContents.java:1800: error: cannot find symbol
        MediaSessionImpl.fromWebContents(mWebContents);
        ^
  symbol:   variable MediaSessionImpl
  location: class AwContents
3 errors

Hint: One or more errors due to missing GN deps.
Hint: Try adding the following to //android_webview:browser_java
    "one of: //android_webview:browser_java, //android_webview:android_webview_no_weblayer_java",

Hint: Run the following command to add the missing deps:
    build/gn_editor add --quiet --file android_webview/BUILD.gn --target //android_webview:browser_java --deps //android_webview:browser_java
 
ninja: build stopped: subcommand failed.

So I am stuck in a loop and if I try to use hint it give error:

ninja: Entering directory `out/system_webview/'
[0/1] Regenerating ninja files
ERROR Dependency cycle:
  //android_webview:android_webview_no_weblayer_java__build_config_crbug_908819 ->
  //android_webview:browser_java__build_config_crbug_908819 ->
  //android_webview:android_webview_no_weblayer_java__build_config_crbug_908819

FAILED: build.ninja.stamp
../../buildtools/linux64/gn --root=../.. -q --regeneration gen .
ninja: error: rebuilding 'build.ninja': subcommand failed

I am confused why i getting an old error which i have resolved earlier and how can i  resolve it again.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/4cbe3c8e-5a75-4d31-986d-b498f9bfa994n%40chromium.org.
Reply all
Reply to author
Forward
0 new messages