Open Enigma1309 opened 4 months ago
I can see a little extra action when tapping the playlist view in this repo but not in the upstream (can be seen in video)
at timestamp 0:11 for This repo and at upstream at 0:20
It shouldn't be specific to radio playlists, but I'll look into it.
This should've done something already, but since I'm testing on a higher-end device than you I'm having trouble to recreate the lag, even using a debug build. I'll get back with you later.
i just build the app with the release flag and signed it using my keystrokes, it did installed and worked well as expected, but this behavior didn't stopped, it still feels laggy and , quite jittery to open
It's added in the rebrand
branch. I also highly advise against building in release mode with your own keys, as that means you'll have to build every install of ViTune in release mode from that point on (Android doesn't allow mixing signing keys)
ohh sorry i forgot to mention that i was using the rebrand branch only.. i signed with my keys only to test the branch without debug tools, as unsigned app won't install
Oh I'm sorry, no problem then. It's strange. My Nothing Phone (2a) is not lagging at all, even the Samsung Galaxy A12 is keeping up. And while I can't blame it on your device, as the other fork clearly solves this issue, this means it becomes strangely difficult for me to find the source of the rendering issue. Compose's tools are not particularly helpful (I can't find unnecessary recompositions) either, so I'll have to keep digging in the source code to try and solve this... sigh
hmm i'm sorry if this finds difficulty for you, this issue can be solved anytime, but you shouldn't stress yourself for that..just treat this issue as an side hustle, i think there are a lot of other relatively easy issues too that are probably more important..anyways it's your app, you can take your time to fix them :D
First of all, me or @25huizengek1 cannot reproduce this. Second of all, your screen recording doesn't look any good. If you look at the footage the animation skips forward a lot in just a single video frame. This doesn't happen on any real hardware, though. The use of scrcpy is not any good for low-latency or very consistent output, as it happens over USB + adb. Thus, I'll close this as wontfix.
that isn't the valid reason to close,
he use of scrcpy is not any good for low-latency or very consistent output,
i agree ,but this stuff is happening on the real hardware, if you're closing this by justifying this as the frame skips, so may i ask why do the frame skips happen on the ViTune repo not on the official app?
the reason i recorded via adb was, that someone won't say that yOu're rEcOrdIng ThAt's WhY yOu're hAviNg a lAggG wait lemme screen record and attach it
https://github.com/25huizengek1/ViTune/assets/94917588/c16d3caa-5a5e-42a6-846c-1122d333048f
Yes, that is much clearer thank you. Now we have a reason to keep this open... I'm sorry if I upset you.
We still can't repro though, so I have to ask you to send some logcat of the latest app.vitune.android release build and we'll see where the issue lies. With just some visuals and the objective "go fix it" we can't do a lot.
Also one more thing:
the reason i recorded via adb was, that someone won't say that yOu're rEcOrdIng ThAt's WhY yOu're hAviNg a lAggG
Please, next time, when using scrcpy, use -r
/--record
. It does a proper recording of your screen, while correcting for any lag you have over your connection. In the documentation to scrcpy, it reads:
Timestamps are captured on the device, so packet delay variation does not impact the recorded file, which is always clean (only if you use --record of course, not if you capture your scrcpy window and audio output on the computer).
I'm sorry if I upset you.
nah it's okay it was kinda my fault..nvm
when using scrcpy, use -r/--record. It does a proper recording of your screen
thanks for the tip i'll try to do that from next time itself
send some logcat of the latest app.vitune.android release build
okay
❯ adb logcat --pid=`adb shell pidof -s app.vitune.android`
--------- beginning of system
04-10 21:00:04.360 9668 9668 E SchedPolicy: open of /dev/cpuctl/bg_non_interactive/tasks failed: No such file or directory
--------- beginning of main
04-10 22:35:01.778 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24577949918899 < limitNs: 24603285917266 < mStartNs: 24603365917266
04-10 22:35:01.788 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24577949918899 < limitNs: 24603285917266 < mStartNs: 24603365917266
04-10 22:35:01.808 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24577949918899 < limitNs: 24603285917266 < mStartNs: 24603365917266
04-10 22:35:01.818 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24577949918899 < limitNs: 24603285917266 < mStartNs: 24603365917266
04-10 22:35:01.839 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24577949918899 < limitNs: 24603285917266 < mStartNs: 24603365917266
04-10 22:35:01.849 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24577949918899 < limitNs: 24603285917266 < mStartNs: 24603365917266
04-10 22:35:01.871 9668 14815 W AudioTrack: getTimestamp() location moved from kernel to server
04-10 22:36:21.368 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24668631366737 < limitNs: 24682876760143 < mStartNs: 24682956760143
04-10 22:36:21.378 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24668631366737 < limitNs: 24682876760143 < mStartNs: 24682956760143
04-10 22:36:21.388 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24668631366737 < limitNs: 24682876760143 < mStartNs: 24682956760143
04-10 22:36:21.400 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24668631366737 < limitNs: 24682876760143 < mStartNs: 24682956760143
04-10 22:36:21.420 9668 14815 I chatty : uid=10747(app.vitune.android) identical 3 lines
04-10 22:36:21.430 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24668631366737 < limitNs: 24682876760143 < mStartNs: 24682956760143
04-10 22:36:21.450 9668 14815 W AudioTrack: getTimestamp() location moved from kernel to server
04-10 22:36:22.524 9668 9668 I Choreographer: Skipped 34 frames! The application may be doing too much work on its main thread.
04-10 22:36:35.949 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24683731162043 < limitNs: 24697458355398 < mStartNs: 24697538355398
04-10 22:36:35.960 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24683731162043 < limitNs: 24697458355398 < mStartNs: 24697538355398
04-10 22:36:35.972 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24683731162043 < limitNs: 24697458355398 < mStartNs: 24697538355398
04-10 22:36:35.989 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24683731162043 < limitNs: 24697458355398 < mStartNs: 24697538355398
04-10 22:36:36.021 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24683731162043 < limitNs: 24697458355398 < mStartNs: 24697538355398
04-10 22:36:36.040 9668 14815 W AudioTrack: getTimestamp() location moved from kernel to server
04-10 22:36:55.132 9668 14815 I MediaCodec: (0x8e497800) release
04-10 22:36:55.142 9668 14815 I MediaCodec: name=OMX.google.opus.decoder isType=false encoder=false
04-10 22:36:55.143 9668 14815 I MediaCodec: (0x8e497800) init name(OMX.google.opus.decoder) isType(0) encoder(0)
04-10 22:36:55.148 9668 16142 I MediaCodec: (0x8e497800) Component Allocated (OMX.google.opus.decoder)
04-10 22:36:55.149 9668 14815 I MediaCodec: (0x8e497800) configure surface(0x0) crypto(0x0) flags(0)
04-10 22:36:55.149 9668 14815 D MediaCodec: (0x8e497800) configure format: AMessage(what = 0x00000000) = {
04-10 22:36:55.149 9668 14815 D MediaCodec: Buffer csd-1 = {
04-10 22:36:55.149 9668 14815 D MediaCodec: 00000000: a0 2e 63 00 00 00 00 00 ..c.....
04-10 22:36:55.149 9668 14815 D MediaCodec: }
04-10 22:36:55.149 9668 14815 D MediaCodec: float operating-rate = 48000.000000
04-10 22:36:55.149 9668 14815 D MediaCodec: Buffer csd-2 = {
04-10 22:36:55.149 9668 14815 D MediaCodec: 00000000: 00 b4 c4 04 00 00 00 00 ........
04-10 22:36:55.149 9668 14815 D MediaCodec: }
04-10 22:36:55.149 9668 14815 D MediaCodec: int32_t sample-rate = 48000
04-10 22:36:55.149 9668 14815 D MediaCodec: string mime = "audio/opus"
04-10 22:36:55.149 9668 14815 D MediaCodec: int32_t channel-count = 2
04-10 22:36:55.149 9668 14815 D MediaCodec: int32_t priority = 0
04-10 22:36:55.149 9668 14815 D MediaCodec: int32_t max-input-size = 5760
04-10 22:36:55.149 9668 14815 D MediaCodec: Buffer csd-0 = {
04-10 22:36:55.149 9668 14815 D MediaCodec: 00000000: 4f 70 75 73 48 65 61 64 01 02 38 01 80 bb 00 00 OpusHead..8.....
04-10 22:36:55.149 9668 14815 D MediaCodec: 00000010: 00 00 00 ...
04-10 22:36:55.149 9668 14815 D MediaCodec: }
04-10 22:36:55.149 9668 14815 D MediaCodec: }
04-10 22:36:55.150 9668 16142 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:36:55.151 9668 16142 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:36:55.151 9668 16142 I ACodec : codec does not support config operating rate (err -2147483648)
04-10 22:36:55.153 9668 16142 W ExtendedACodec: Failed to get extension for extradata parameter
04-10 22:36:55.154 9668 14815 I MediaCodec: (0x8e497800) start
04-10 22:36:55.159 9668 16142 I MediaCodec: (0x8e497800) kWhatStartCompleted
04-10 22:36:55.172 9668 16142 D MediaCodec: (0x8e497800) kWhatOutputBuffersChanged
04-10 22:36:55.172 9668 16142 D MediaCodec: (0x8e497800) [OMX.google.opus.decoder] output format changed to: AMessage(what = 0x00000000) = {
04-10 22:36:55.172 9668 16142 D MediaCodec: string mime = "audio/raw"
04-10 22:36:55.172 9668 16142 D MediaCodec: int32_t channel-count = 2
04-10 22:36:55.172 9668 16142 D MediaCodec: int32_t sample-rate = 48000
04-10 22:36:55.172 9668 16142 D MediaCodec: int32_t pcm-encoding = 2
04-10 22:36:55.172 9668 16142 D MediaCodec: }
04-10 22:37:14.709 9668 14815 I MediaCodec: (0x8e497800) flush
04-10 22:37:15.151 9668 9678 I zygote : Background concurrent copying GC freed 78101(3MB) AllocSpace objects, 23(824KB) LOS objects, 49% free, 13MB/27MB, paused 251us total 212.837ms
04-10 22:37:15.331 9668 14815 I MediaCodec: (0x8e497800) flush
04-10 22:37:15.337 9668 14815 I MediaCodec: (0x8e497800) release
04-10 22:37:15.355 9668 14815 I MediaCodec: name=OMX.google.opus.decoder isType=false encoder=false
04-10 22:37:15.358 9668 14815 I MediaCodec: (0x8e497800) init name(OMX.google.opus.decoder) isType(0) encoder(0)
04-10 22:37:15.366 9668 16170 I MediaCodec: (0x8e497800) Component Allocated (OMX.google.opus.decoder)
04-10 22:37:15.366 9668 14815 I MediaCodec: (0x8e497800) configure surface(0x0) crypto(0x0) flags(0)
04-10 22:37:15.367 9668 14815 D MediaCodec: (0x8e497800) configure format: AMessage(what = 0x00000000) = {
04-10 22:37:15.367 9668 14815 D MediaCodec: Buffer csd-1 = {
04-10 22:37:15.367 9668 14815 D MediaCodec: 00000000: a0 2e 63 00 00 00 00 00 ..c.....
04-10 22:37:15.367 9668 14815 D MediaCodec: }
04-10 22:37:15.367 9668 14815 D MediaCodec: float operating-rate = 48000.000000
04-10 22:37:15.367 9668 14815 D MediaCodec: Buffer csd-2 = {
04-10 22:37:15.367 9668 14815 D MediaCodec: 00000000: 00 b4 c4 04 00 00 00 00 ........
04-10 22:37:15.367 9668 14815 D MediaCodec: }
04-10 22:37:15.367 9668 14815 D MediaCodec: int32_t sample-rate = 48000
04-10 22:37:15.367 9668 14815 D MediaCodec: string mime = "audio/opus"
04-10 22:37:15.367 9668 14815 D MediaCodec: int32_t channel-count = 2
04-10 22:37:15.367 9668 14815 D MediaCodec: int32_t priority = 0
04-10 22:37:15.367 9668 14815 D MediaCodec: int32_t max-input-size = 5760
04-10 22:37:15.367 9668 14815 D MediaCodec: Buffer csd-0 = {
04-10 22:37:15.367 9668 14815 D MediaCodec: 00000000: 4f 70 75 73 48 65 61 64 01 02 38 01 80 bb 00 00 OpusHead..8.....
04-10 22:37:15.367 9668 14815 D MediaCodec: 00000010: 00 00 00 ...
04-10 22:37:15.367 9668 14815 D MediaCodec: }
04-10 22:37:15.367 9668 14815 D MediaCodec: }
04-10 22:37:15.369 9668 16170 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:37:15.371 9668 16170 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:37:15.371 9668 16170 I ACodec : codec does not support config operating rate (err -2147483648)
04-10 22:37:15.375 9668 16170 W ExtendedACodec: Failed to get extension for extradata parameter
04-10 22:37:15.375 9668 14815 I MediaCodec: (0x8e497800) start
04-10 22:37:15.381 9668 16170 I MediaCodec: (0x8e497800) kWhatStartCompleted
04-10 22:37:15.398 9668 16170 D MediaCodec: (0x8e497800) kWhatOutputBuffersChanged
04-10 22:37:15.399 9668 16170 D MediaCodec: (0x8e497800) [OMX.google.opus.decoder] output format changed to: AMessage(what = 0x00000000) = {
04-10 22:37:15.399 9668 16170 D MediaCodec: string mime = "audio/raw"
04-10 22:37:15.399 9668 16170 D MediaCodec: int32_t channel-count = 2
04-10 22:37:15.399 9668 16170 D MediaCodec: int32_t sample-rate = 48000
04-10 22:37:15.399 9668 16170 D MediaCodec: int32_t pcm-encoding = 2
04-10 22:37:15.399 9668 16170 D MediaCodec: }
04-10 22:37:15.411 9668 14815 D AudioTrack: Client defaulted notificationFrames to 6000 for frameCount 12000
04-10 22:37:15.666 9668 14815 I MediaCodec: (0x8e497800) flush
04-10 22:37:15.723 9668 14815 I MediaCodec: (0x8e497800) flush
04-10 22:37:15.731 9668 14815 I MediaCodec: (0x8e497800) release
04-10 22:37:15.749 9668 14815 I MediaCodec: name=OMX.google.opus.decoder isType=false encoder=false
04-10 22:37:15.754 9668 14815 I MediaCodec: (0x8e497800) init name(OMX.google.opus.decoder) isType(0) encoder(0)
04-10 22:37:15.765 9668 16178 I MediaCodec: (0x8e497800) Component Allocated (OMX.google.opus.decoder)
04-10 22:37:15.766 9668 14815 I MediaCodec: (0x8e497800) configure surface(0x0) crypto(0x0) flags(0)
04-10 22:37:15.766 9668 14815 D MediaCodec: (0x8e497800) configure format: AMessage(what = 0x00000000) = {
04-10 22:37:15.766 9668 14815 D MediaCodec: Buffer csd-1 = {
04-10 22:37:15.766 9668 14815 D MediaCodec: 00000000: a0 2e 63 00 00 00 00 00 ..c.....
04-10 22:37:15.766 9668 14815 D MediaCodec: }
04-10 22:37:15.766 9668 14815 D MediaCodec: float operating-rate = 48000.000000
04-10 22:37:15.766 9668 14815 D MediaCodec: Buffer csd-2 = {
04-10 22:37:15.766 9668 14815 D MediaCodec: 00000000: 00 b4 c4 04 00 00 00 00 ........
04-10 22:37:15.766 9668 14815 D MediaCodec: }
04-10 22:37:15.766 9668 14815 D MediaCodec: int32_t sample-rate = 48000
04-10 22:37:15.766 9668 14815 D MediaCodec: string mime = "audio/opus"
04-10 22:37:15.766 9668 14815 D MediaCodec: int32_t channel-count = 2
04-10 22:37:15.766 9668 14815 D MediaCodec: int32_t priority = 0
04-10 22:37:15.766 9668 14815 D MediaCodec: int32_t max-input-size = 5760
04-10 22:37:15.766 9668 14815 D MediaCodec: Buffer csd-0 = {
04-10 22:37:15.766 9668 14815 D MediaCodec: 00000000: 4f 70 75 73 48 65 61 64 01 02 38 01 80 bb 00 00 OpusHead..8.....
04-10 22:37:15.766 9668 14815 D MediaCodec: 00000010: 00 00 00 ...
04-10 22:37:15.766 9668 14815 D MediaCodec: }
04-10 22:37:15.766 9668 14815 D MediaCodec: }
04-10 22:37:15.767 9668 16178 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:37:15.771 9668 16178 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:37:15.771 9668 16178 I ACodec : codec does not support config operating rate (err -2147483648)
04-10 22:37:15.777 9668 16178 W ExtendedACodec: Failed to get extension for extradata parameter
04-10 22:37:15.777 9668 14815 I MediaCodec: (0x8e497800) start
04-10 22:37:15.797 9668 16178 I MediaCodec: (0x8e497800) kWhatStartCompleted
04-10 22:37:15.820 9668 16178 D MediaCodec: (0x8e497800) kWhatOutputBuffersChanged
04-10 22:37:15.820 9668 16178 D MediaCodec: (0x8e497800) [OMX.google.opus.decoder] output format changed to: AMessage(what = 0x00000000) = {
04-10 22:37:15.820 9668 16178 D MediaCodec: string mime = "audio/raw"
04-10 22:37:15.820 9668 16178 D MediaCodec: int32_t channel-count = 2
04-10 22:37:15.820 9668 16178 D MediaCodec: int32_t sample-rate = 48000
04-10 22:37:15.820 9668 16178 D MediaCodec: int32_t pcm-encoding = 2
04-10 22:37:15.820 9668 16178 D MediaCodec: }
04-10 22:37:15.838 9668 14815 D AudioTrack: Client defaulted notificationFrames to 6000 for frameCount 12000
04-10 22:37:28.828 9668 9678 I zygote : Background concurrent copying GC freed 379370(11MB) AllocSpace objects, 76(2MB) LOS objects, 50% free, 15MB/31MB, paused 409us total 280.558ms
04-10 22:37:35.754 9668 9678 I zygote : Background concurrent copying GC freed 423117(13MB) AllocSpace objects, 114(2MB) LOS objects, 49% free, 16MB/32MB, paused 331us total 259.456ms
04-10 22:37:37.461 9668 9668 W IInputConnectionWrapper: requestCursorAnchorInfo on inactive InputConnection
04-10 22:37:42.366 9668 14815 I MediaCodec: (0x8e497800) flush
04-10 22:37:42.431 9668 14815 I MediaCodec: (0x8e497800) flush
04-10 22:37:42.435 9668 14815 I MediaCodec: (0x8e497800) release
04-10 22:37:42.451 9668 14815 I MediaCodec: name=OMX.google.opus.decoder isType=false encoder=false
04-10 22:37:42.453 9668 14815 I MediaCodec: (0x8e497800) init name(OMX.google.opus.decoder) isType(0) encoder(0)
04-10 22:37:42.485 9668 16354 I MediaCodec: (0x8e497800) Component Allocated (OMX.google.opus.decoder)
04-10 22:37:42.485 9668 14815 I MediaCodec: (0x8e497800) configure surface(0x0) crypto(0x0) flags(0)
04-10 22:37:42.486 9668 14815 D MediaCodec: (0x8e497800) configure format: AMessage(what = 0x00000000) = {
04-10 22:37:42.486 9668 14815 D MediaCodec: Buffer csd-1 = {
04-10 22:37:42.486 9668 14815 D MediaCodec: 00000000: a0 2e 63 00 00 00 00 00 ..c.....
04-10 22:37:42.486 9668 14815 D MediaCodec: }
04-10 22:37:42.486 9668 14815 D MediaCodec: float operating-rate = 48000.000000
04-10 22:37:42.486 9668 14815 D MediaCodec: Buffer csd-2 = {
04-10 22:37:42.486 9668 14815 D MediaCodec: 00000000: 00 b4 c4 04 00 00 00 00 ........
04-10 22:37:42.486 9668 14815 D MediaCodec: }
04-10 22:37:42.486 9668 14815 D MediaCodec: int32_t sample-rate = 48000
04-10 22:37:42.486 9668 14815 D MediaCodec: string mime = "audio/opus"
04-10 22:37:42.486 9668 14815 D MediaCodec: int32_t channel-count = 2
04-10 22:37:42.486 9668 14815 D MediaCodec: int32_t priority = 0
04-10 22:37:42.486 9668 14815 D MediaCodec: int32_t max-input-size = 5760
04-10 22:37:42.486 9668 14815 D MediaCodec: Buffer csd-0 = {
04-10 22:37:42.486 9668 14815 D MediaCodec: 00000000: 4f 70 75 73 48 65 61 64 01 02 38 01 80 bb 00 00 OpusHead..8.....
04-10 22:37:42.486 9668 14815 D MediaCodec: 00000010: 00 00 00 ...
04-10 22:37:42.486 9668 14815 D MediaCodec: }
04-10 22:37:42.486 9668 14815 D MediaCodec: }
04-10 22:37:42.487 9668 16354 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:37:42.487 9668 16354 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:37:42.488 9668 16354 I ACodec : codec does not support config operating rate (err -2147483648)
04-10 22:37:42.489 9668 16354 W ExtendedACodec: Failed to get extension for extradata parameter
04-10 22:37:42.490 9668 14815 I MediaCodec: (0x8e497800) start
04-10 22:37:42.495 9668 16354 I MediaCodec: (0x8e497800) kWhatStartCompleted
04-10 22:37:42.511 9668 16354 D MediaCodec: (0x8e497800) kWhatOutputBuffersChanged
04-10 22:37:42.513 9668 16354 D MediaCodec: (0x8e497800) [OMX.google.opus.decoder] output format changed to: AMessage(what = 0x00000000) = {
04-10 22:37:42.513 9668 16354 D MediaCodec: string mime = "audio/raw"
04-10 22:37:42.513 9668 16354 D MediaCodec: int32_t channel-count = 2
04-10 22:37:42.513 9668 16354 D MediaCodec: int32_t sample-rate = 48000
04-10 22:37:42.513 9668 16354 D MediaCodec: int32_t pcm-encoding = 2
04-10 22:37:42.513 9668 16354 D MediaCodec: }
04-10 22:37:42.520 9668 14815 D AudioTrack: Client defaulted notificationFrames to 6000 for frameCount 12000
04-10 22:37:44.453 9668 9668 W IInputConnectionWrapper: requestCursorAnchorInfo on inactive InputConnection
04-10 22:37:44.489 9668 9668 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
04-10 22:37:44.499 9668 9668 W IInputConnectionWrapper: getTextAfterCursor on inactive InputConnection
04-10 22:37:44.524 9668 9668 W IInputConnectionWrapper: getSelectedText on inactive InputConnection
04-10 22:37:44.600 9668 9668 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
04-10 22:37:44.639 9668 9668 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
04-10 22:37:44.657 9668 9668 W IInputConnectionWrapper: getTextBeforeCursor on inactive InputConnection
04-10 22:37:44.681 9668 9668 W IInputConnectionWrapper: requestCursorAnchorInfo on inactive InputConnection
04-10 22:37:45.147 9668 9668 W IInputConnectionWrapper: requestCursorAnchorInfo on inactive InputConnection
04-10 22:37:52.130 9668 9678 I zygote : Background concurrent copying GC freed 457987(14MB) AllocSpace objects, 57(2MB) LOS objects, 49% free, 15MB/31MB, paused 151us total 244.933ms
04-10 22:38:53.331 9668 9678 I zygote : Background concurrent copying GC freed 633586(17MB) AllocSpace objects, 8(252KB) LOS objects, 50% free, 14MB/28MB, paused 207us total 259.101ms
04-10 22:39:51.820 9668 9678 I zygote : Background concurrent copying GC freed 469633(13MB) AllocSpace objects, 14(296KB) LOS objects, 49% free, 14MB/29MB, paused 218us total 233.988ms
04-10 22:40:23.004 9668 14815 I MediaCodec: (0x8e497800) flush
04-10 22:40:23.057 9668 14815 D AudioTrack: Client defaulted notificationFrames to 6000 for frameCount 12000
04-10 22:40:35.076 9668 9678 I zygote : Background concurrent copying GC freed 498728(13MB) AllocSpace objects, 5(228KB) LOS objects, 49% free, 15MB/30MB, paused 202us total 240.551ms
04-10 22:40:55.912 9668 9678 I zygote : Background concurrent copying GC freed 575403(15MB) AllocSpace objects, 0(0B) LOS objects, 49% free, 14MB/29MB, paused 302us total 225.141ms
04-10 22:41:11.696 9668 9678 I zygote : Background concurrent copying GC freed 488600(13MB) AllocSpace objects, 0(0B) LOS objects, 49% free, 16MB/33MB, paused 237us total 255.707ms
04-10 22:41:14.571 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24970723011726 < limitNs: 24976081038154 < mStartNs: 24976161038154
04-10 22:41:14.582 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24970723011726 < limitNs: 24976081038154 < mStartNs: 24976161038154
04-10 22:41:14.592 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24970723011726 < limitNs: 24976081038154 < mStartNs: 24976161038154
04-10 22:41:14.602 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24970723011726 < limitNs: 24976081038154 < mStartNs: 24976161038154
04-10 22:41:14.612 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24970723011726 < limitNs: 24976081038154 < mStartNs: 24976161038154
04-10 22:41:14.632 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24970723011726 < limitNs: 24976081038154 < mStartNs: 24976161038154
04-10 22:41:14.642 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24970723011726 < limitNs: 24976081038154 < mStartNs: 24976161038154
04-10 22:41:14.653 9668 14815 W AudioTrack: getTimestamp() location moved from kernel to server
04-10 22:41:18.005 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24977255160033 < limitNs: 24979512603339 < mStartNs: 24979592603339
04-10 22:41:18.015 9668 14815 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 24977255160033 < limitNs: 24979512603339 < mStartNs: 24979592603339
04-10 22:41:26.219 9668 9678 I zygote : Background concurrent copying GC freed 543462(16MB) AllocSpace objects, 0(0B) LOS objects, 49% free, 17MB/34MB, paused 298us total 246.852ms
04-10 22:41:30.335 9668 14815 I MediaCodec: (0x8e497800) flush
04-10 22:41:34.248 9668 9668 I ExoPlayerImpl: Release cc874b8 [AndroidXMedia3/1.3.0] [athene_f, Moto G (4), motorola, 27] [media3.common, media3.database, media3.exoplayer, media3.decoder, media3.datasource, media3.extractor]
04-10 22:41:34.249 9668 14815 I MediaCodec: (0x8e497800) release
04-10 22:41:54.718 9668 9668 D Compose Focus: Owner FocusChanged(true)
04-10 22:41:54.731 9668 9668 I ExoPlayerImpl: Init 3fc271c [AndroidXMedia3/1.3.0] [athene_f, Moto G (4), motorola, 27]
04-10 22:41:55.124 9668 9678 I zygote : Background concurrent copying GC freed 21529(1870KB) AllocSpace objects, 1(24KB) LOS objects, 49% free, 13MB/26MB, paused 438us total 272.801ms
04-10 22:42:14.280 9668 9678 I zygote : Background concurrent copying GC freed 386783(11MB) AllocSpace objects, 58(1248KB) LOS objects, 50% free, 13MB/27MB, paused 363us total 250.834ms
04-10 22:42:16.684 9668 16689 I MediaCodec: name=OMX.google.opus.decoder isType=false encoder=false
04-10 22:42:16.688 9668 16689 I MediaCodec: (0x81c3bd80) init name(OMX.google.opus.decoder) isType(0) encoder(0)
04-10 22:42:16.729 9668 16755 I MediaCodec: (0x81c3bd80) Component Allocated (OMX.google.opus.decoder)
04-10 22:42:16.729 9668 16689 I MediaCodec: (0x81c3bd80) configure surface(0x0) crypto(0x0) flags(0)
04-10 22:42:16.730 9668 16689 D MediaCodec: (0x81c3bd80) configure format: AMessage(what = 0x00000000) = {
04-10 22:42:16.730 9668 16689 D MediaCodec: Buffer csd-1 = {
04-10 22:42:16.730 9668 16689 D MediaCodec: 00000000: a0 2e 63 00 00 00 00 00 ..c.....
04-10 22:42:16.730 9668 16689 D MediaCodec: }
04-10 22:42:16.730 9668 16689 D MediaCodec: float operating-rate = 48000.000000
04-10 22:42:16.730 9668 16689 D MediaCodec: Buffer csd-2 = {
04-10 22:42:16.730 9668 16689 D MediaCodec: 00000000: 00 b4 c4 04 00 00 00 00 ........
04-10 22:42:16.730 9668 16689 D MediaCodec: }
04-10 22:42:16.730 9668 16689 D MediaCodec: int32_t sample-rate = 48000
04-10 22:42:16.730 9668 16689 D MediaCodec: string mime = "audio/opus"
04-10 22:42:16.730 9668 16689 D MediaCodec: int32_t channel-count = 2
04-10 22:42:16.730 9668 16689 D MediaCodec: int32_t priority = 0
04-10 22:42:16.730 9668 16689 D MediaCodec: int32_t max-input-size = 5760
04-10 22:42:16.730 9668 16689 D MediaCodec: Buffer csd-0 = {
04-10 22:42:16.730 9668 16689 D MediaCodec: 00000000: 4f 70 75 73 48 65 61 64 01 02 38 01 80 bb 00 00 OpusHead..8.....
04-10 22:42:16.730 9668 16689 D MediaCodec: 00000010: 00 00 00 ...
04-10 22:42:16.730 9668 16689 D MediaCodec: }
04-10 22:42:16.730 9668 16689 D MediaCodec: }
04-10 22:42:16.730 9668 16755 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:42:16.731 9668 16755 I ACodec : codec does not support config priority (err -2147483648)
04-10 22:42:16.731 9668 16755 I ACodec : codec does not support config operating rate (err -2147483648)
04-10 22:42:16.733 9668 16755 W ExtendedACodec: Failed to get extension for extradata parameter
04-10 22:42:16.733 9668 16689 I MediaCodec: (0x81c3bd80) start
04-10 22:42:16.740 9668 16755 I MediaCodec: (0x81c3bd80) kWhatStartCompleted
04-10 22:42:16.787 9668 16755 D MediaCodec: (0x81c3bd80) kWhatOutputBuffersChanged
04-10 22:42:16.791 9668 16755 D MediaCodec: (0x81c3bd80) [OMX.google.opus.decoder] output format changed to: AMessage(what = 0x00000000) = {
04-10 22:42:16.791 9668 16755 D MediaCodec: string mime = "audio/raw"
04-10 22:42:16.791 9668 16755 D MediaCodec: int32_t channel-count = 2
04-10 22:42:16.791 9668 16755 D MediaCodec: int32_t sample-rate = 48000
04-10 22:42:16.791 9668 16755 D MediaCodec: int32_t pcm-encoding = 2
04-10 22:42:16.791 9668 16755 D MediaCodec: }
04-10 22:42:16.818 9668 16689 D AudioTrack: Client defaulted notificationFrames to 6000 for frameCount 12000
04-10 22:42:22.238 9668 9678 I zygote : Background concurrent copying GC freed 303666(10MB) AllocSpace objects, 20(588KB) LOS objects, 50% free, 17MB/34MB, paused 337us total 315.955ms
04-10 22:42:24.652 9668 16689 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 25045521778813 < limitNs: 25046156801228 < mStartNs: 25046236801228
04-10 22:42:30.319 9668 16689 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 25047041789173 < limitNs: 25051826522053 < mStartNs: 25051906522053
04-10 22:42:30.329 9668 16689 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 25047041789173 < limitNs: 25051826522053 < mStartNs: 25051906522053
04-10 22:42:30.340 9668 16689 I chatty : uid=10747(app.vitune.android) ExoPlayer:Playb identical 1 line
04-10 22:42:30.350 9668 16689 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 25047041789173 < limitNs: 25051826522053 < mStartNs: 25051906522053
04-10 22:42:30.360 9668 16689 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 25047041789173 < limitNs: 25051826522053 < mStartNs: 25051906522053
04-10 22:42:30.381 9668 16689 I chatty : uid=10747(app.vitune.android) ExoPlayer:Playb identical 2 lines
04-10 22:42:30.393 9668 16689 D AudioTrack: correcting timestamp time for pause, currentTimeNanos: 25047041789173 < limitNs: 25051826522053 < mStartNs: 25051906522053
04-10 22:42:30.411 9668 16689 W AudioTrack: getTimestamp() location moved from kernel to server
04-10 22:42:30.726 9668 9678 I zygote : Background concurrent copying GC freed 471517(15MB) AllocSpace objects, 4(80KB) LOS objects, 50% free, 19MB/39MB, paused 182us total 367.880ms
i've tried opening the app and playing and pausing the music , this did bumped some logs; but while scrolling opening the queue it did't bumped any logs...
Correct. These logs don't seem as useful. Is there no GL Surface Renderer log? Seems like there's no lead for any rendering jank except for simply a CPU-bound system.
i just tried the oldest version of this repo(ViMusic v0.5.5) but the problem still exist, does it mean it's an ui bug caused by the new interface?
@Enigma1309 In the meantime, a lot of optimizations happened. Could you please retry in the latest nightly?
a little bit of improvement but still far from the intended behavior.. should i screen record and post?
I guess that works? I noticed a lot of jank could be introduced just because of multiple animations that happen while opening the queue, so I tried to optimize it a bit, but on low refresh rate it could look like lag IMO, and on lower-end devices it sure lags, because rendering animations are not that cheap.
Steps to reproduce the bug
Continuation of https://github.com/25huizengek1/ViTune/issues/67#issuecomment-1951677164
Expected behavior
The list view should be fluid to open
Actual behavior
There is an annoying jitter/lag when opening playlist view
Screenshots/Screen recordings
few can be seen here
or here's some more precise recording
https://github.com/25huizengek1/ViTune/assets/94917588/1756ce2e-b1ab-4191-9bea-877009f24f49
Logs
No response
ViMusic version
0.6.7
What kind of build are you using?
Release (GitHub / F-Droid)
Android version
Android oreo 8.1
Device info
Motorola G4+
Upstream reproducibility
Nope Can be seen in footage
Additional information
I can see a little extra action when tapping the playlist view in this repo but not in the upstream (can be seen in video)
Checklist