Sunday, 2024-02-18

rinigusnephros: is there any reason for https://build.sailfishos.org/package/show/sailfishos:chum:testing/uptimed to be enabled for only one specific arch/version combination?07:45
*** Mikaela is now known as Guest15215:12
Mister_Magistermal: had any chance to look at this issue past couple of years? or anyone at jolla for that matter? https://forum.sailfishos.org/t/avc1-has-to-be-finally-fixed/1600322:37
malMister_Magister: did you have some sample video and/or instructions how to reproduce that?22:39
Mister_Magisteryep22:39
Mister_Magisteri did have them22:39
Mister_Magistermal: i can repeat them again, altho i can't find them. grab youtube-dl or yt-dlp, prefferably the latter, type yt-dlp <url> -f 299 -g, grab that url, open picoplayer (or just make sample app with box standard qtmultimedia video player) and feed it that url, then try to seek22:43
Mister_Magisterif it was problem with my app, other codecs wouldn't work as it's gstreamer stuff22:44
Mister_Magisterit does work in the browser22:44
Mister_Magisterbut we all know browser uses droidmedia differenetly, so possibly gstdroid is the culprit (which i wouldn't be surprised)22:45
malyeah if browser can use same codec without issues then it does sound like gstdroid, assuming browser really used hw codec for that22:45
Mister_Magisteri can even make you special version of microtube that will always pick avc1 format making it fail every time22:45
Mister_Magisterand ye gstdroid even more since its the gstreamer managing the seeking and failing22:46
malit's only when streaming?22:46
malnot local files?22:46
Mister_Magisteryep22:47
Mister_Magisteronly when streaming, and possibly only when streaming video only file22:48
malstreaming is always is a bit sketchy22:48
Mister_Magisteri'm not sure about that as i forgot details couple years ago22:48
Mister_Magisteri think there's problem in qtmux22:48
Mister_Magisterdon't ask me why is it used but it is22:49
Mister_Magisteri'm planning to throw in some software decoding to workaround it and allow older devices more codecs (+ when i'll port it eventually to desktop)22:51
Mister_Magisterhttps://paste.opensuse.org/pastes/8a0c8c9faa1d22:55
Mister_Magisteroh no wait i found it qtdemux.c:1648:gst_qtdemux_handle_src_event:<qtdemux0:video_0> Rejecting seek request in bytes format22:56
malah22:56
Mister_Magisterthats why i mentioned qtdemux, i knew it had to be for a reason22:57
Mister_Magisterif you wanna see more logs https://paste.opensuse.org/pastes/85db4dd9de3a22:58
malwhat determines the seek format?22:58
malprobably time based seek could work?22:59
Mister_Magisterdon't ask me I have no clue22:59
Mister_Magisteri'm not specifying format when sending seek event, i think h264parse does that23:00
Mister_Magisterhttps://paste.opensuse.org/pastes/08c5cad72903 see23:00
Mister_Magisteroh wait i'm taking it back i'm specifying format, and its GST_FORMAT_TIME23:00
Mister_Magisternot bytes23:00
malhmm23:01
Mister_Magisterkek souphttp also sends seek fail "gstbasesrc.c:1499:gst_base_src_default_prepare_seek_segment:<souphttpsrc0> undefined format given, seek aborted."23:03
Mister_Magisteri'm aware that at this point its easy to say "oh you're simply doing something wrong" but believe me, i'm not23:05
malMister_Magister: do you have your code somewhere?23:13
Mister_Magisterall on github23:13
Mister_Magisterbut simplest will be https://github.com/Michal-Szczepaniak/gstdroid-player23:13
Mister_Magisterthis is base on which microtube and picoplayer player is based23:13
* Mister_Magister you can use that to reproduce it as well23:14
malhave you tried GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT as suggested by gst docs?23:14
Mister_Magisterthe flags i'm using work fine for me though23:14
Mister_Magisteri'm usign GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_TRICKMODE|GST_SEEK_FLAG_ACCURATE23:15
Mister_Magisteri can try it but i'm telling you it's not a problem in client code23:16
Mister_Magistervp9 is seeking fine just fine23:16
maljust meaning that there is a possibility that the accurate flag could in theory cause the event to end up being changed to bytes based?23:17
maltrying to check gst code if it does that23:17
malafaik seeking to key frame would be better anyway since it would probably cause less artifacts23:18
Mister_Magisterthere are no artifacts though23:19
malcould you still test that out of curiosity23:19
Mister_Magisteryes i'm trying as we speak23:20
Mister_Magisterthough there's some issue with playing avc123:20
malone issue at a time23:20
Mister_Magisteryepp23:20
maljust for reference about those flags https://gstreamer.freedesktop.org/documentation/gstreamer/gstelement.html?gi-language=c#gst_element_seek_simple23:23
Mister_Magisterchecked in picoplayer, nope23:23
mal"playback applications will usually want to use GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT here"23:23
Mister_Magisteri'm really using gst_element_seek23:23
Mister_Magisterwhich is i guess not as simple as _simple variant but its basically same thing23:24
Mister_Magisteralso like i mentioned, the jolla-provided qtmultimedia also fails at that23:29
Mister_Magisterso i guess you can blame qt at this point23:29
Mister_Magisteri'm happy to provide any assistance so currently i'm trying to convince you this is dead end, it's not client side issue23:30
malwhich flags did you use in that test?23:30
Mister_Magisterlatest? GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT23:30
malwhich codec is in use in that test?23:35
Mister_Magisteravc123:35
Mister_Magisteronly avc1 has this issue23:35
malso h.26423:36
Mister_Magisteryes23:36
* Mister_Magister don't ask what qtmux is doing23:38
malwell in theory there could be some issue in the gstdroidcodec.c in the process_h26xdec_data for example23:39
Mister_Magisteri think there's insanely high possibility that it's in practice23:40
Mister_Magistercause rest of the stack is unmodified23:40
malif timestamps or something are not good it could end up in bytes mode23:40
Mister_Magisterthat leaves the only potential culprit23:40
Mister_Magisterwish i could gdb gstdroid23:41
malnothing about gstdroid in that log you gave23:41
malcan't you?23:41
Mister_Magisteridk how23:41
malthere was some magic to gst debugging23:41
Mister_Magistertbh i'm not that hype about debugging gstreamer stuff23:42
malI remember doing this during some debugging: gdb --args gst-inspect-1.0 --gst-disable-segtrap --gst-disable-registry-fork droidcamsrc23:44
Mister_Magistergood luck :P23:45
malso the same code works for other video formats?23:46
Mister_Magisteryep23:46
Mister_Magistervp9 for that matter23:46
Mister_Magisterworks with video with audio too on h26423:47
Mister_Magisterso i'm more inclined to say its something in pipeline23:47
Mister_Magisterlike if you get the url for format 22 which includes audio it will just work23:47
Mister_Magisteriirc23:48
* Mister_Magister you're allowed to say what the fuck at this point23:48
malthat audio thing is quite odd indeed23:49
Mister_Magisterthats a nice way of saying "what the fuck"23:49
malbut then again audio has timestamps also and could be used to help seeking23:49
Mister_Magisterhence i mentioned yt-dlp cause u can get stream url from yt instead hosting ur own thing god knows what23:50
Mister_Magistermal: but vp9 works, also everything works outside of sfos23:50
malin that log you gave to which time were you seeking?23:52
mal30 seconds?23:52
Mister_Magisterno clue i was randomly tapping23:52
Mister_Magisteralsoalso changing playback speed doesn't work either (it's using seek for playback speed)23:53
malone more thing to test out of curiosity GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT | GST_SEEK_FLAG_SNAP_NEAREST23:54
Mister_Magisteri think we were doing same thing last time23:55
Mister_Magisteraka u telling me to change flags and me argumenting in million different ways that its not client side code23:56
Mister_Magisteralso you won't be surprised to hear it didn't work either23:56
malwell otherwise I would be testing those anyway23:57
malto rule out everything23:57
Mister_Magisterunderstandable23:57
Mister_Magisterim here to help23:57
Mister_Magisteri want h264 cause older phones don't have vp923:58
maldoesn't sw vp9 work on older phones?23:58
Mister_Magisterye but then you can't use gstdroid output23:59
Mister_Magisterand have to make different renderer23:59
Mister_Magisterwhich i'm yet to do23:59

Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!