Oksana | How do I create a Sailfish OS patch? I have half a dozen email accounts, and intend to add more, I would like them to have unique icons, instead of generic yellow envelopes. ag-tool shows iconPath setting for each of the accounts, I would like to be able to change that - in GUI. Like, Settings->Accounts->MyEmailAccount, click/tap the icon - and instead of doing nothing, that opens a File/Image-Chooser, to select the image you want | 00:20 |
---|---|---|
*** frinring_ is now known as frinring | 01:56 | |
*** nyov is now known as Guest36658 | 03:21 | |
*** ersatzmaus is now known as fledermaus | 09:14 | |
Mister_Magister | abranson: hear me out, ffmpeg with gpu acceleration on adreno/gst-droid | 12:46 |
Mister_Magister | l | 13:03 |
abranson | Mister_Magister: would be nice! not so keen on hw adaptation builds of ffmpeg though. it's a big one. | 13:14 |
Mister_Magister | abranson: couldn't we do video conversion, hw accelerated using gstreamer? | 13:14 |
mal | the issue is that ffmpeg doesn't have any good plugin interface | 13:15 |
Mister_Magister | basically i'm searching for way of reencoding recorded vids cause sfos camera can't into encoding | 13:15 |
Mister_Magister | also abranson do you know if there has been any movement with gst-droid example usage | 13:15 |
Mister_Magister | like discussed on meeting | 13:16 |
mal | Mister_Magister: to what format are you trying to re-encode? | 13:16 |
Mister_Magister | mp4 | 13:16 |
Nico[m] | I would just use gstreamer in that case, it can also do recording and would fit better with gst-droid, I think? :D | 13:16 |
Mister_Magister | but saner | 13:16 |
Mister_Magister | so that 20 min vid doesn't weight 2GB | 13:16 |
abranson | no, as I said it's not really a supported way to use the media stack, so providing docs on it wouldn't be something we'd want to do | 13:16 |
Mister_Magister | but 200MB instead | 13:16 |
Mister_Magister | abranson: but you are using gst-droid | 13:17 |
abranson | only through qtmultimedia | 13:17 |
Mister_Magister | and browser | 13:17 |
mal | gstreamer should be able to re-encode quite well, in theory even with hw acceeleration, assuming the decoder and encoder things in gst-droid work as they should | 13:17 |
abranson | and that's all people should be using in their apps | 13:17 |
Mister_Magister | abranson: but thats insanely limiting | 13:18 |
abranson | i don't think gst-droid venc is working very well atm | 13:18 |
Mister_Magister | why can't we simply use gstreamer | 13:18 |
Mister_Magister | like | 13:18 |
Mister_Magister | why gstreamer isn't gpu accelerated by default | 13:18 |
Mister_Magister | like on pc | 13:18 |
abranson | because the codecs are behind hybris, not standard linux ones | 13:18 |
abranson | there's some interesting possibilties on the pinephone for that though! gst-vaapi etc | 13:19 |
abranson | not sure that's stable yet though | 13:19 |
Mister_Magister | and it couldn't be done to use hw acceleration by default? | 13:19 |
Mister_Magister | abranson: let me ask different question then. Do you have any idea how to get video playback not through qtmultimedia | 13:20 |
abranson | I think if there's something not possible through qtmultimedia, then we should get it working through that instead. | 13:21 |
Mister_Magister | but qtmultimedia is insanely limited | 13:21 |
Mister_Magister | basically all i need is to access gst pipeline | 13:22 |
Mister_Magister | because qtmulimedia will only play one source on single pipeline | 13:22 |
Mister_Magister | and using gst droid directly you can have two sources on one pipeline | 13:22 |
Mister_Magister | so that they're synced | 13:22 |
Mister_Magister | you can't do that through qtmultimedia | 13:22 |
Mister_Magister | thats why i'm in such pain | 13:22 |
Mister_Magister | and qtmultimedia doesn't allow subtitles | 13:22 |
abranson | switching between different bitrate streams? | 13:23 |
Mister_Magister | and has shitload of other limitations | 13:23 |
Mister_Magister | abranson: on | 13:23 |
Mister_Magister | abranson: no, playing audio and video | 13:23 |
Mister_Magister | from separate streams | 13:23 |
abranson | subtitles would be nice too. very surprised that's not in qtmm already. but if it were added, then it would be available for anyone writing qt/qml apps. | 13:24 |
Mister_Magister | abranson: granted jolla will ever update qt (HAH) | 13:24 |
abranson | are subtitles in newer versions? | 13:25 |
abranson | i'm sure qt will be updated eventually, but in the meantime we can add things to our version (as long as they don't backport code from later versions with a different license) | 13:25 |
abranson | this playbackrate pitch compensation thing with thigg is looking very nice, for example | 13:26 |
Nico[m] | Wasn't QtMumtimedia mostly redesigned for Qt6 too? And a lot of features dropped? | 13:26 |
Mister_Magister | abranson: i don't think so | 13:27 |
Mister_Magister | abranson: playbackrate pitch compensation? | 13:27 |
Mister_Magister | abranson: so what you are saying is, if i patched qtmlutimedia to allow playing 2 streams one for vid second for audio, you would merge it? | 13:28 |
abranson | yeah. quite cool: https://forum.sailfishos.org/t/no-pitch-compensation-when-playing-audio-with-playbackrate-1/1369 | 13:28 |
abranson | Mister_Magister: well it wouldn't be up to me, so it would have to be sane :D | 13:28 |
abranson | so you're loading the video and audio from two different streams? both coming from the network?? | 13:29 |
Mister_Magister | wdym sane | 13:29 |
Mister_Magister | abranson: yep | 13:29 |
Mister_Magister | thats what youtube gives | 13:29 |
Mister_Magister | its not really MPD even | 13:29 |
Mister_Magister | its just 2 separate streams | 13:29 |
abranson | sane = passing pvuorela code review :D | 13:29 |
Mister_Magister | but its possible to get it merged | 13:29 |
Nico[m] | I also need to use gstreamer directly in the future and having access to the camera via gst would be important as well as the compositing parts .-. | 13:30 |
abranson | yeah community stuff gets merged to our qtmm. piggz' camera params for instance. that even got upstreamed I think. | 13:30 |
Mister_Magister | i mean like multi camera | 13:31 |
Mister_Magister | but thats something… | 13:31 |
Mister_Magister | well its not that different | 13:31 |
Mister_Magister | okay then | 13:31 |
Mister_Magister | you got yourself a patch | 13:31 |
Mister_Magister | i'll have look into displaying subtitles aswell | 13:31 |
Mister_Magister | deal abranson? | 13:31 |
abranson | we don't need a deal. patches are always welcome ;) | 13:33 |
abranson | but just be careful of that upstream license change. we just can't take anything that's too similar to later upstream right now. | 13:34 |
Mister_Magister | abranson: there's nothing liket his in upstream | 13:37 |
Mister_Magister | hence minitube uses some 3rd party video players | 13:37 |
Mister_Magister | that can actually play 2 streams | 13:37 |
Mister_Magister | if i just get the damn 2 streams i'll make so many people happy that jesus | 13:37 |
abranson | so there are two streams that can trigger a buffering state? sounds crazy. i thought all that dash stuff was supposed to bundle them all up together in one. | 13:38 |
mal | so the streams are not in anyway together in how youtube gives those? | 13:38 |
Mister_Magister | yep | 13:39 |
Mister_Magister | you literally have 2 separate urls | 13:39 |
Mister_Magister | one contains vid, second contains audio | 13:39 |
Mister_Magister | if you play it on single pipeline they are going to be synced | 13:39 |
Nico[m] | Yeah, you have that issue with reddit video for example | 13:39 |
Mister_Magister | ^ | 13:40 |
Mister_Magister | he also plays 480p | 13:40 |
Mister_Magister | youtube has combained streams for <=720p | 13:40 |
Mister_Magister | and native 1080p youtube playback is what people been asking for ever | 13:40 |
Mister_Magister | and i'm THIS close to doing it, i already know how to do it | 13:41 |
abranson | is that part of one of those streaming standards like dash or smoothstreaming etc? | 13:41 |
abranson | cos they have licensing dangers too | 13:41 |
Mister_Magister | heck i did it already before gst-droid update | 13:41 |
Mister_Magister | abranson: i don't think so | 13:41 |
Mister_Magister | its just 2 stream | 13:41 |
Mister_Magister | mpeg dash is different | 13:41 |
Mister_Magister | you need .mpd manifest for them | 13:41 |
Mister_Magister | and i still think they have licensing danger for streaming not receiving | 13:42 |
Mister_Magister | cause there are literally opensource libs for that | 13:42 |
mal | some of those have licensing costs even for client apps | 13:46 |
Mister_Magister | ye you keep worrying me | 13:47 |
Mister_Magister | but i really don't think its part of dash | 13:47 |
Mister_Magister | dash manipulates quality depending on bandwith | 13:47 |
Mister_Magister | and here quality is static, whichever i choose | 13:47 |
Mister_Magister | so just playing 2 streams | 13:48 |
Mister_Magister | abranson: mal: from some random website "Dash Clients are defined in the summary as "products capable of parsing a Media Presentation Description and accessing or playing DASH Segments" | 14:06 |
Mister_Magister | so just playing 2 separate streams doesn't qualify as dash | 14:06 |
Mister_Magister | you happy now | 14:06 |
abranson | aren't those 2 streams actually dash segments? | 14:06 |
abranson | or is that bit not going in qtmm? :D | 14:06 |
Mister_Magister | perhaps? | 14:07 |
Mister_Magister | like | 14:07 |
Mister_Magister | they don't have to be | 14:07 |
Mister_Magister | they could be, but that depends on user | 14:07 |
Mister_Magister | not on owner | 14:07 |
Mister_Magister | damn licenses idk anymoer | 14:10 |
Nico[m] | I also need to play multiple steams, one from the camera, 2 from the network, which is pretty easy with gstreamer | 14:11 |
Nico[m] | *streams | 14:12 |
Mister_Magister | two video streams is something different | 14:12 |
Nico[m] | For sure | 14:12 |
Nico[m] | But you usually have the remote video and audio composited with your own camera in video calls | 14:13 |
Nico[m] | And having the flexibility of gstreamer is very helpful there + gstreamer can do all the webrtc part | 14:13 |
Mister_Magister | https://github.com/videojs/videojs-contrib-dash/issues/358 mm i asked some random opensource dash player guys about license | 14:16 |
Mister_Magister | i also asked minitube guy if he's paying but he prably won't reply | 14:16 |
Mister_Magister | he never does | 14:16 |
Mister_Magister | imagine you wanted to do something awesome but someone had to put license on it | 14:31 |
Mister_Magister | i'll still have a look into subtitles tho | 14:32 |
*** vilpan is now known as Guest16124 | 14:41 | |
*** Guest16124 is now known as vilpan | 14:41 | |
Mister_Magister | its actually hard to find any licensing info | 14:59 |
Mister_Magister | additionally you can't even buy the dash license anymore | 15:01 |
Mister_Magister | is it licensed still | 15:01 |
Mister_Magister | https://www.mpegla.com/programs/dash/ | 15:01 |
Mister_Magister | The DASH Patent Portfolio License is no longer offered to new Licensees | 15:02 |
Mister_Magister | i really don't think that you need to pay anything to playback dash at this point | 15:03 |
Mister_Magister | abranson: if you can't even buy DASH license how do you know you even need to have one | 15:07 |
Mister_Magister | how do you know there exists some paid license | 15:07 |
abranson | that's weird. it's not very old so i doubt the patents have expired | 15:09 |
Mister_Magister | hecc, write to DASH-IF and ask them for license | 15:11 |
Mister_Magister | hecc i will do it | 15:12 |
Mister_Magister | abranson: also this https://dashif.org/ipr-declarations/ google/microsoft/qualcomm they all license their own patents free of charge | 15:31 |
Mister_Magister | here it is kinda explained how it went https://streaminglearningcenter.com/articles/dash-royalties-resurface-in-three-law-suits.html | 15:34 |
Mister_Magister | still no definitve if there are some royalties or not | 15:35 |
abranson | probably need some lawyer's eyes, but good news if true | 15:35 |
abranson | we can enable all the dash in gst then | 15:35 |
Mister_Magister | that's useless to me still | 15:36 |
Mister_Magister | all i want is just to play separate audio and video | 15:36 |
Mister_Magister | abranson: i've also sent email to DASH-IF which seems to lead implementations, they should know the best how does it work | 15:37 |
abranson | wouldn't that mean you'd need to do less? and just enable dash playback in qtmm, then gstreamer would look it up | 15:37 |
Mister_Magister | especially that they promote some opensource players | 15:37 |
Mister_Magister | abranson: i don't have mpd file | 15:37 |
Mister_Magister | i could create one but thats not what i want | 15:37 |
abranson | what are you getting from them? | 15:38 |
Mister_Magister | urls | 15:38 |
Mister_Magister | all i have is urls | 15:38 |
abranson | not in some meta format? | 15:38 |
Mister_Magister | no | 15:38 |
Mister_Magister | literally playing 2 urls on one pipeline is my dream | 15:39 |
Mister_Magister | i know how to do it, i know that it works | 15:39 |
Mister_Magister | i just CAN'T do it :< | 15:39 |
Mister_Magister | 4k@60fps is only a dream | 15:39 |
Mister_Magister | abranson: its literally if you used youtube-dl and got yourself video and audio stream | 15:39 |
Mister_Magister | you pick format that suits you | 15:40 |
Mister_Magister | and thats what u have, 2 urls | 15:40 |
abranson | ah so youtube-dl is doing the parsing of whatever it is? | 15:40 |
Mister_Magister | ye | 15:40 |
Mister_Magister | i can put those 2 urls in gst-launch on desktop and it works pefectly and thats exactly what i need | 15:41 |
abranson | so what broke in your earlier impl? the video buffers? | 15:41 |
Mister_Magister | totall gst-droid api changed | 15:42 |
Mister_Magister | totally different signal | 15:42 |
Mister_Magister | no frame-ready and that kind of stuff | 15:42 |
Mister_Magister | not even sure as i don't get this code, if i understood it i would adapt it | 15:42 |
abranson | the r0kk3rz thing? wouldn't know where to start. gst code always ends up being a bit of a headful | 15:43 |
Mister_Magister | ye | 15:43 |
abranson | but I think maybe it was a casualty of the buffer recycling stuff that denexter did. | 15:44 |
abranson | so it's passing droid gralloc buffers from the source to the display, then cycling them back again to be reused | 15:44 |
Mister_Magister | i can patch qtmultimedia as adding some audio url parameters and then changing pipeline is childplay at this point | 15:44 |
abranson | but i didn't think the api had changed that much. it's a big commit though so maybe. | 15:45 |
Mister_Magister | no signals match | 15:45 |
Mister_Magister | they do completely different things | 15:45 |
abranson | did you triage which commit broke it? | 15:46 |
Mister_Magister | that was year ago man | 15:52 |
Mister_Magister | i don't remember | 15:52 |
abranson | ah, longer than i thought then. so you can just build old versions and try it out | 15:58 |
Mister_Magister | what do you mean? | 15:59 |
abranson | if they're still compatible, you could roll back gst-droid to progressively older versions, and see when it starts working again. then at least you'll know which commit is the culprit and we might be able to figure out what the problem is | 16:00 |
Mister_Magister | haven't we tried that already here | 16:01 |
abranson | could also grep old version for that frame-ready you're talking about. or anything else you know is missing | 16:09 |
Mister_Magister | frame-ready is still here | 16:11 |
Mister_Magister | abranson: nemo-gst-interfaces this thing still used? | 16:14 |
Mister_Magister | lets do it that way, i'll just build and GST_DEBUG it | 16:18 |
Mister_Magister | abranson: oh ye i remembered correctly ../gobject/gsignal.c:2529: signal 'frame-ready' is invalid for instance '0xb75301d8' of type 'GstDroidEglSink' | 16:28 |
Mister_Magister | i'm already looking at 3 different projects, gst-droid is indeed mess | 16:28 |
Mister_Magister | i mean… it should be working, why is it invalid | 16:30 |
Mister_Magister | https://github.com/sailfishos/gst-jolla/blob/master/gst/droideglsink/gstdroideglsink.c#L320 like this is here | 16:30 |
Mister_Magister | and that leads to https://git.sailfishos.org/mer-core/nemo-gst-interfaces/blob/master/gst-libs/gst/interfaces/nemovideotexture.c#L302 | 16:31 |
Mister_Magister | am i missing something | 16:32 |
abranson | none of that's changed in a very long time | 16:33 |
Mister_Magister | yeah so why does it not connect | 16:35 |
Mister_Magister | why is it invalid | 16:35 |
Mister_Magister | first of all, qtmultimedia doesn't do gst_element_factory_make("droideglsink", "QtCamViewfinderRendererNemoSink"); if (!m_sink) { | 16:35 |
Mister_Magister | ye see thats hella out of my scope | 16:36 |
abranson | above you linked 'gst-jolla' which is a really old thing that's not used | 16:36 |
Mister_Magister | abranson: oh i found original example https://github.com/foolab/gst-droid/blob/master/tools/simple-camera/renderernemo.cpp | 16:37 |
Mister_Magister | well maybe not original | 16:37 |
Mister_Magister | abranson: yeee i'm just googling things | 16:37 |
Mister_Magister | help is appreciated as i don't even know what i'm doing | 16:37 |
abranson | yes that's the original developer. doesn't work at jolla anymore | 16:37 |
Mister_Magister | just throwing stuff at you xd | 16:37 |
Mister_Magister | idk at this point, thats all i was able to do | 16:38 |
Mister_Magister | liek it does create droideglsink object just fine | 16:38 |
Mister_Magister | but signal is missing or something | 16:38 |
abranson | when did that stuff last work? because by the looks of this it shouldn't have done for many years | 16:38 |
Mister_Magister | idk i remember it working year ago | 16:38 |
Mister_Magister | yeah i'm literally getting source as it was year ago and it doesn't work | 16:41 |
abranson | i think it might be in here you should be looking: https://github.com/sailfishos/gst-droid/commit/b0a25efff149e8fa0f039e35917dac4e958fb72c | 16:41 |
abranson | there's a new element in there. videotexture sink. | 16:42 |
abranson | might be that should be involved instead, but I don't know really | 16:42 |
Mister_Magister | https://github.com/starkDbl07/sailfishIRC-localArchiver this thing is brokeh :< | 16:42 |
Mister_Magister | thats possible | 16:42 |
abranson | the timing looks right, and that's the biggest change that's happened in gst-droid lately | 16:43 |
Mister_Magister | ye see its not easy xd | 16:43 |
Mister_Magister | abranson: and i have a hunch that its the one | 16:43 |
Mister_Magister | like i don't remember, but something is telling me… | 16:43 |
abranson | that changed how buffers are created and passed around. if that r0kk3rz package is trying to do that then that might be why it fails | 16:44 |
Mister_Magister | like it sends signal BUFFERS_INVALIDATED | 16:44 |
Mister_Magister | we are not using it | 16:44 |
Mister_Magister | abranson: here it is | 16:48 |
Mister_Magister | https://github.com/sailfishos/gst-droid/commit/b0a25efff149e8fa0f039e35917dac4e958fb72c#diff-de385d5f0552f9aca46129d2c55b09b180fe1dc5147f345c01ff89ba2d9e3d70R240 | 16:49 |
Mister_Magister | its using new signal show frame | 16:49 |
Mister_Magister | and not frame-ready | 16:49 |
Mister_Magister | thats what i've been telling about changed signals | 16:50 |
Mister_Magister | https://github.com/sailfishos/gst-droid/commit/b0a25efff149e8fa0f039e35917dac4e958fb72c#diff-de385d5f0552f9aca46129d2c55b09b180fe1dc5147f345c01ff89ba2d9e3d70R32 | 16:50 |
Mister_Magister | this entire thing is completely incompatible | 16:50 |
Mister_Magister | because you can see that previously https://git.sailfishos.org/mer-core/nemo-gst-interfaces/blob/master/gst-libs/gst/interfaces/nemovideotexture.c#L34 | 16:51 |
Mister_Magister | only 1 signal was there | 16:51 |
Mister_Magister | now there are 4 and we support neither | 16:51 |
Mister_Magister | here you go, explained signals incompatibility | 16:51 |
mal | what other signals? | 16:52 |
Mister_Magister | click the links mal | 16:53 |
mal | I did | 16:53 |
Mister_Magister | then its explained in links | 16:53 |
Mister_Magister | like you see 2 completely different sets of enums right | 16:53 |
mal | the SIGNAL_FRAME_READY is still sent afaik, nemo_gst_video_texture_frame_ready (NEMO_GST_VIDEO_TEXTURE (sink), 0); | 16:54 |
Mister_Magister | literally explained it above | 16:54 |
Mister_Magister | tell that to this error signal 'frame-ready' is invalid for instance '0xb75301d8' of type 'GstDroidEglSink | 16:54 |
Mister_Magister | or its parameter changed | 16:54 |
mal | well I didn't see you telling that before | 16:54 |
Mister_Magister | i did | 16:54 |
mal | I missed that in backlog | 16:54 |
abranson | mal: one of those links above was from the really old gst-jolla project. ignore that one | 16:54 |
Mister_Magister | i copied it from above | 16:55 |
mal | abranson: which one? | 16:55 |
abranson | weirdly i don't see any dramatic changes in qtmultimedia for this though, so i guess whatever was done was internel | 16:55 |
Mister_Magister | abranson: can you find what parameters are sent in frame-ready? | 16:55 |
Mister_Magister | i think the parameters changed | 16:56 |
abranson | mal: the one where I saw that nemo_gst_video_texture_frame_ready | 16:56 |
mal | you mean the line I mentioned? | 16:56 |
* Mister_Magister im really trying hard to remember it sorry for confusion | 16:56 | |
Mister_Magister | like the app gets rame_ready(GstElement *sink, int frame, QtCamViewfinderRendererNemo *r) | 16:56 |
Mister_Magister | i don't think int frame is here anymore iirc | 16:56 |
mal | abranson: https://github.com/sailfishos/gst-droid/blob/master/gst/droideglsink/gstdroidvideotexturesink.c#L220 | 16:57 |
Mister_Magister | that sounds correct still | 16:58 |
Mister_Magister | the object and the frame number | 16:58 |
mal | so some threading issue or something? | 16:59 |
Mister_Magister | i don't think so | 16:59 |
Mister_Magister | i think the goal is to check how the signal changed | 17:02 |
Mister_Magister | i think it did change | 17:02 |
Mister_Magister | abranson: mal: found it https://github.com/sailfishos/gst-droid/commit/b0a25efff149e8fa0f039e35917dac4e958fb72c#diff-de385d5f0552f9aca46129d2c55b09b180fe1dc5147f345c01ff89ba2d9e3d70L39 | 17:14 |
Mister_Magister | G_IMPLEMENT_INTERFACE (NEMO_GST_TYPE_VIDEO_TEXTURE | 17:14 |
Mister_Magister | this object has frame-ready signal and all the previous stuff we were using | 17:14 |
Mister_Magister | hecc we even cast it to NEMO_GST_TYPE_VIDEO_TEXTURE | 17:15 |
Mister_Magister | in new one we don't implement it FINE_TYPE (GstDroidEglSink, gst_droideglsink, GST_TYPE_VIDEO_SINK); | 17:15 |
Mister_Magister | so we have only signals from the enum https://github.com/sailfishos/gst-droid/commit/b0a25efff149e8fa0f039e35917dac4e958fb72c#diff-de385d5f0552f9aca46129d2c55b09b180fe1dc5147f345c01ff89ba2d9e3d70R32 | 17:15 |
Mister_Magister | which means show-frame which is incompatible with frame-ready because it gives us buffer and not frame number | 17:16 |
Mister_Magister | hope thats enough my head is steaming | 17:16 |
Mister_Magister | basically after this commit the object changed completely | 17:16 |
mal | argh, so difficult to figure out what you mean in each case because the links won't go to the actual line | 17:18 |
mal | I need to manually try to find the line you mean | 17:18 |
Mister_Magister | oh | 17:18 |
Mister_Magister | they don | 17:18 |
Mister_Magister | in this commit https://github.com/sailfishos/gst-droid/commit/b0a25efff149e8fa0f039e35917dac4e958fb72c# file gst/droideglsink/gstdroideglsink.c line 51 changes type | 17:19 |
Mister_Magister | line 32 adds new enums | 17:19 |
Mister_Magister | it needs new enums cause older ones were in the interface which is from super old project abranson was talking about | 17:20 |
Mister_Magister | the interface had one singal only | 17:20 |
Mister_Magister | frame-ready | 17:20 |
abranson | what i don't get is why nothing else seems to care about this change | 17:20 |
Mister_Magister | it was adjusted? it doesn't do things the way we are doing? | 17:21 |
Mister_Magister | like qtmultimedia doesn't even create droideglsink object | 17:21 |
Mister_Magister | at least i can't find it | 17:21 |
Mister_Magister | https://git.sailfishos.org/mer-core/qtmultimedia/blob/master/qtmultimedia/src/gsttools/qgstreamergltexturerenderer.cpp#L195 | 17:22 |
Mister_Magister | like here, different object | 17:22 |
Mister_Magister | i might have looking at not updated qtmultimedia | 17:24 |
Mister_Magister | because pushing to master isn't jolla's strong point xd | 17:25 |
mal | well those have a point of not using master but the default should be set correctly | 17:26 |
Mister_Magister | default is 7yo | 17:27 |
Mister_Magister | and its master | 17:27 |
mal | that should have mer-5.6 as default branch | 17:27 |
Mister_Magister | idk how qtmultimedia uses gstrdoid | 17:28 |
Mister_Magister | can't find sane gst_element_factory_make | 17:28 |
mal | it doesn't use it directly, somehow in gstreamer it selects correct things | 17:32 |
Mister_Magister | yeah i can't even see that | 17:33 |
Mister_Magister | there's no gstdroid reference or making any gstdroid object | 17:33 |
mal | gstreamer is not very simple to understand | 17:33 |
Mister_Magister | its magical | 17:33 |
mal | can you give some example command how to test that error? | 17:36 |
Mister_Magister | eeeee | 17:37 |
Mister_Magister | not really | 17:37 |
Mister_Magister | it wouldn't help you anyway | 17:39 |
Mister_Magister | ye so qtmultimedia doesn't use droideglsink | 17:43 |
Mister_Magister | at least not directly | 17:43 |
Mister_Magister | idk what does | 17:43 |
Mister_Magister | thats the end for me | 17:43 |
mal | Mister_Magister: this https://git.sailfishos.org/mer-core/nemo-qtmultimedia-plugins/tree/master ? | 17:47 |
Mister_Magister | maybe | 17:49 |
Mister_Magister | jolla camera does create droideglsink | 17:49 |
Mister_Magister | i mean jolla-gallery | 17:49 |
Mister_Magister | how does it do that? no idea | 17:50 |
Nico[m] | Maybe it doesn't create it directly, but it creates a video sync and gstreamer then creates the right one? | 17:50 |
mal | abranson: hmm, that https://git.sailfishos.org/mer-core/nemo-qtmultimedia-plugins change to use the show-frame signal but this still uses the old frame-ready https://git.sailfishos.org/mer-core/nemo-gst-interfaces/blob/master/gst-libs/gst/interfaces/nemovideotexture.c#L92 | 17:50 |
Mister_Magister | Nico[m]: you are asking wrong man | 17:50 |
Mister_Magister | i literally have no idea what i'm doing | 17:51 |
Mister_Magister | mal: where does it use it | 17:51 |
mal | Mister_Magister: what do you mean, in the link I gave | 17:52 |
Mister_Magister | i don't see frame-ready in it | 17:52 |
mal | https://git.sailfishos.org/mer-core/nemo-gst-interfaces/blob/master/gst-libs/gst/interfaces/nemovideotexture.c#L307 | 17:52 |
Mister_Magister | i mean in here https://git.sailfishos.org/mer-core/nemo-qtmultimedia-plugins/blob/master/src/videotexturebackend/videotexturebackend.cpp | 17:53 |
Mister_Magister | no frame-ready here | 17:53 |
Mister_Magister | neither nemo_gst_video_texture_frame_ready | 17:53 |
mal | Mister_Magister: I just said that had moved to the new show-frame | 17:53 |
Mister_Magister | mal: let me explain then | 17:53 |
mal | but nemo-gst-interfaces didn't | 17:53 |
Mister_Magister | nemo-gst-interfaces is old project, like i shown before the droideglsink was using it as interface. Now after the commit i linked its no longer used in droideglsink. It's not client library its source library | 17:54 |
Mister_Magister | nemo-gst-interfaces doesn't use frame-ready, it provides it | 17:54 |
Mister_Magister | and its now out of use | 17:54 |
Mister_Magister | like abranson said at the beginning | 17:55 |
mal | so what was the whole talk about frame-ready error | 17:55 |
abranson | yeah I think this shows you what you have to do: https://git.sailfishos.org/mer-core/nemo-qtmultimedia-plugins/commit/98046c0fdb12dd1fbafa2f69fba2feb338e1aacc | 17:55 |
Mister_Magister | mal: what do you mean? | 17:55 |
mal | you showed "error signal 'frame-ready' is invalid for instance '0xb75301d8' of type 'GstDroidEglSink" | 17:55 |
Mister_Magister | abranson: i think too | 17:55 |
Mister_Magister | mal: yep | 17:55 |
Mister_Magister | and? | 17:55 |
abranson | didn't see changes in qtmultimedia, because they're all in the plugins project | 17:55 |
Mister_Magister | droideglsink doesn't have frame-ready anymore | 17:56 |
Mister_Magister | abranson: ahhh | 17:56 |
mal | Mister_Magister: so wtf is that related to if you say the code is not used | 17:56 |
Mister_Magister | because it was | 17:56 |
Mister_Magister | year ago | 17:56 |
Mister_Magister | when the app was working | 17:56 |
mal | https://github.com/sailfishos/gst-droid/blob/master/gst/droideglsink/gstdroidvideotexturesink.c#L220 | 17:56 |
mal | that is where it's still called | 17:57 |
abranson | i think nemo-gst-interfaces is still used, though not that bit. he added nemoeglimagememory then. | 17:57 |
Mister_Magister | even if its still called you can't connect to it | 17:57 |
abranson | but i think that other texture thing in there is deprecated | 17:57 |
Mister_Magister | abranson: does my explanation make sense? | 17:57 |
mal | abranson: still the line I mentioned will be calling frame-ready instead of show-frame afaik | 17:58 |
mal | somehow | 17:59 |
abranson | maybe, but i can't say i really understand this enough. seems to me that droideglsink stopped implementing the NemoGstVideoTexture interface that r0kk3rz code was using. | 17:59 |
mal | https://git.sailfishos.org/mer-core/nemo-gst-interfaces/blob/master/gst-libs/gst/interfaces/nemovideotexture.c#L302 | 17:59 |
Mister_Magister | but the signal definition is gone mal | 17:59 |
Mister_Magister | abranson: thats what i said yes | 17:59 |
mal | Mister_Magister: not in nemo-gst-interfaces | 17:59 |
Mister_Magister | and now its defining different signals | 17:59 |
Mister_Magister | mal: but nemo-gst-interfaces isn't used in droideglsink anymore | 17:59 |
Mister_Magister | so droideglsink doesn't provide signals from nemo-gst-interfaces anymore | 18:00 |
Mister_Magister | like from link above now its providing its own signals | 18:00 |
Mister_Magister | like show-frame | 18:00 |
mal | Mister_Magister: so you are saying this line doesn't exist https://github.com/sailfishos/gst-droid/blob/master/gst/droideglsink/gstdroidvideotexturesink.c#L220 | 18:00 |
Mister_Magister | it doesn't define signal | 18:00 |
Mister_Magister | mal you are confing things | 18:00 |
abranson | in that nemo-qtmultimedia-plugins videotexturebackend class, you can see that NemoGstVideoTexture *sink = NEMO_GST_VIDEO_TEXTURE(m_sink); was removed | 18:01 |
mal | https://git.sailfishos.org/mer-core/nemo-gst-interfaces/blob/master/gst-libs/gst/interfaces/nemovideotexture.c#L298 | 18:01 |
abranson | from there on is what needs to be done instead | 18:01 |
Mister_Magister | abranson: yep i know im just trying to explain tihngs to mal | 18:01 |
Mister_Magister | but its hard :< | 18:02 |
mal | my point was that the line I showed triggers a signal which is not used anywhere | 18:02 |
abranson | m_buffer replaces m_sink in there | 18:02 |
Mister_Magister | mal: oh ye thats true | 18:03 |
Mister_Magister | i can confirm that | 18:03 |
mal | Mister_Magister: which could cause error signal 'frame-ready' is invalid for instance '0xb75301d8' of type 'GstDroidEglSink | 18:03 |
Mister_Magister | mal: thats different | 18:03 |
Mister_Magister | let me show you | 18:03 |
Mister_Magister | we are trying to get gstdroid-player to work | 18:03 |
Mister_Magister | https://github.com/r0kk3rz/gstdroid-player/blob/master/src/renderernemo.cpp#L215 | 18:03 |
Mister_Magister | and it was connecting to that signal | 18:03 |
Mister_Magister | since its gone now from droideglsink, it displays that error | 18:04 |
Mister_Magister | not because its sent | 18:04 |
mal | shouldn't you be tapping to show-frame signal now? | 18:04 |
Mister_Magister | yes thats what we were figuring out | 18:04 |
abranson | casting droidegl sink to GstDroidVideoTexture will cause those errors now, because it isn't one anymore | 18:05 |
Mister_Magister | and we figured out that my job is to get these changes my job now is to put this | 18:05 |
Mister_Magister | and we figured out that my job is to get these changes https://git.sailfishos.org/mer-core/nemo-qtmultimedia-plugins/commit/98046c0fdb12dd1fbafa2f69fba2feb338e1aacc | 18:05 |
Mister_Magister | in the gstdroid-player app | 18:05 |
Mister_Magister | and it should be fixed | 18:05 |
abranson | so if there's a NemoGstVideoTexture *sink = NEMO_GST_VIDEO_TEXTURE(m_sink); in gstdroid-player, then that's where you start | 18:05 |
Mister_Magister | abranson: i know, from now on i can do it | 18:06 |
abranson | great! good luck... | 18:06 |
Mister_Magister | still there's licensing part but just playing 2 urls is like… come one | 18:06 |
Mister_Magister | everyone does that | 18:06 |
Mister_Magister | abranson: yeah thanks! | 18:06 |
Mister_Magister | its all thank to mal providing the plugins link | 18:06 |
mal | abranson: anyway we still have the non-used signal triggering | 18:06 |
abranson | maybe the dash guys will give you a license in reply to your email ;) | 18:06 |
Mister_Magister | mal: thats true :P | 18:07 |
abranson | mal: yeah i think that gst-interfaces needs cleanup | 18:07 |
Mister_Magister | abranson: maybe thet will say you don't need one and you will reopen my issue to gstreamer >:3 | 18:07 |
abranson | :) | 18:07 |
Mister_Magister | dang that was long figuring out | 18:07 |
Mister_Magister | lots of info | 18:08 |
abranson | but finding that code in qtmm-plugins really stresses how the supported layer is qtmm, and anything under that may change | 18:08 |
mal | that code of gstdroid-player seems very similar to the old code in nemo-qtmultimedia-plugins | 18:08 |
Mister_Magister | mal: it is old code | 18:09 |
Mister_Magister | wait | 18:09 |
Mister_Magister | https://github.com/foolab/gst-droid/blob/master/tools/simple-camera/renderernemo.cpp here | 18:09 |
Mister_Magister | its basically this code, this entire simple-camera | 18:10 |
Mister_Magister | pheeeeeeeeeeeeeeew | 18:10 |
*** eagle is now known as Guest514 | 19:13 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!