steep-balloon-41261
04/25/2023, 3:45 AMambitious-lunch-95812
04/25/2023, 1:01 PMmedia_stream::VideoFrameSink
and media_stream::AudioSink
and to build up into a pair of tracks for each bin, and use a GST appsink
to emit the audio data and video frames.
Though, I'm curious if there's a higher abstraction to add a new h264
source from a socket through an RtcSession
?dry-elephant-14928
04/26/2023, 6:06 AMambitious-lunch-95812
04/26/2023, 1:13 PMmain
for this to work -- I was getting a codec error in webrtc-sys
so I backed off to 0.1.1
to see if that was my issue.
I'll move back to main
branches for both livekit
and livekit-webrtc
, and try to see where my frame creation differs from the logo track example.
Here's the stacktrace I'm getting from web-rtc
in case this makes sense to you. It's may how I'm creating the frame, though -- Since GST is already in I420 I copied the YUV planes directly into the target buffer from the appsink sample frame.ambitious-lunch-95812
04/26/2023, 3:04 PMambitious-lunch-95812
04/26/2023, 4:52 PM*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: -[RTCVideoCodecInfo nativeSdpVideoFormat]: unrecognized selector sent to instance 0x6000008ae8c0
I thought perhaps that my strides weren't getting set (since I didn't see a way to set them outside of yuv_helper
, so I tried converting my frame to argb
and converting it back to i420
before overwriting it in the frame buffer.
I think the error is coming from the VideoEncoderFactory
, but I'm not exactly sure where that gets called from
https://gist.github.com/spiegela/2455f9da234c39602e8f7410efb75258ambitious-lunch-95812
04/26/2023, 5:15 PMtheo/newbuilds
branch provides some more logging that may help:dry-elephant-14928
04/26/2023, 5:36 PMdry-elephant-14928
04/26/2023, 5:37 PMambitious-lunch-95812
04/26/2023, 5:41 PMambitious-lunch-95812
04/26/2023, 5:42 PMambitious-lunch-95812
04/26/2023, 5:56 PMgst-launch-1.0 videotestsrc num-buffers=200 ! "video/x-raw, format=I420, width=1280, height=720" ! queue ! autovideosink
which is the same source & capabilities. That snack just has a different "sink" so that I push individual frames to the livekit client (or try to 😉)boundless-energy-78552
04/26/2023, 6:06 PMboundless-energy-78552
04/26/2023, 6:06 PMambitious-lunch-95812
04/26/2023, 6:19 PMambitious-lunch-95812
04/26/2023, 6:32 PMaarch64-apple-darwin
ambitious-lunch-95812
04/26/2023, 6:33 PMambitious-lunch-95812
04/26/2023, 6:46 PMboundless-energy-78552
04/26/2023, 6:47 PMambitious-lunch-95812
04/26/2023, 6:47 PMambitious-lunch-95812
04/26/2023, 6:47 PMboundless-energy-78552
04/26/2023, 6:48 PMambitious-lunch-95812
04/26/2023, 6:52 PMlivekit/client-sdk-rust
. It still segfaults on Mac. Here's my cargo.tomlambitious-lunch-95812
04/26/2023, 6:54 PMyum
this AM...boundless-energy-78552
04/26/2023, 6:57 PMambitious-lunch-95812
04/26/2023, 7:04 PMambitious-lunch-95812
04/26/2023, 7:22 PMboundless-energy-78552
04/26/2023, 7:23 PMboundless-energy-78552
04/26/2023, 8:23 PMtheomonnom
to the repo?boundless-energy-78552
04/26/2023, 8:24 PMboundless-energy-78552
04/26/2023, 8:24 PMboundless-energy-78552
04/26/2023, 8:26 PMboundless-energy-78552
04/26/2023, 8:26 PMboundless-energy-78552
04/26/2023, 8:26 PMambitious-lunch-95812
04/26/2023, 8:27 PMboundless-energy-78552
04/26/2023, 8:27 PMboundless-energy-78552
04/26/2023, 8:29 PMambitious-lunch-95812
04/26/2023, 8:31 PMgst-launch-1.0
command up in the thread. I can try it again in 30m or so— I set a break point inside the sample loop and it was getting hit, but it’s still possible my frames are screwyboundless-energy-78552
04/26/2023, 8:34 PMambitious-lunch-95812
04/26/2023, 9:09 PM