&format!(
"videotestsrc is-live=true ! vp8enc deadline=1 ! rtpvp8pay pt=96 ! tee name=video-tee ! \
queue ! fakesink sync=true \
- audiotestsrc wave=ticks is-live=true ! opusenc ! rtpopuspay pt=97 ! tee name=audio-tee ! \
+ audiotestsrc wave=ticks is-live=true ! opusenc ! rtpopuspay pt=97 ! application/x-rtp,encoding-name=OPUS ! tee name=audio-tee ! \
queue ! fakesink sync=true \
audiotestsrc wave=silence is-live=true ! audio-mixer. \
audiomixer name=audio-mixer sink_0::mute=true ! audioconvert ! audioresample ! autoaudiosink \
"rtph264pay config-interval=-1 name=payloader aggregate-mode=zero-latency ! "
"application/x-rtp,media=video,encoding-name=H264,payload="
RTP_PAYLOAD_TYPE " ! webrtcbin. "
- "autoaudiosrc ! queue max-size-buffers=1 leaky=downstream ! audioconvert ! audioresample ! opusenc ! rtpopuspay pt="
- RTP_AUDIO_PAYLOAD_TYPE " ! webrtcbin. ", &error);
+ "autoaudiosrc ! queue max-size-buffers=1 leaky=downstream"
+ " ! audioconvert ! audioresample ! opusenc ! rtpopuspay pt="
+ RTP_AUDIO_PAYLOAD_TYPE " ! application/x-rtp, encoding-name=OPUS !"
+ " webrtcbin. ", &error);
if (error != NULL) {
g_error ("Could not create WebRTC pipeline: %s\n", error->message);
g_error_free (error);
// Create the GStreamer pipeline
let pipeline = gst::parse_launch(
"videotestsrc pattern=ball is-live=true ! vp8enc deadline=1 ! rtpvp8pay pt=96 ! webrtcbin. \
- audiotestsrc is-live=true ! opusenc ! rtpopuspay pt=97 ! webrtcbin. \
+ audiotestsrc is-live=true ! opusenc ! rtpopuspay pt=97 ! application/x-rtp,encoding-name=OPUS ! webrtcbin. \
webrtcbin name=webrtcbin"
)?;
audio_desc =
g_strdup_printf
("audiotestsrc is-live=true wave=red-noise ! audioconvert ! audioresample"
- "! queue ! opusenc ! rtpopuspay name=audiopay pt=%u ! queue", opus_pt);
+ "! queue ! opusenc ! rtpopuspay name=audiopay pt=%u "
+ "! application/x-rtp, encoding-name=OPUS ! queue", opus_pt);
audio_bin = gst_parse_bin_from_description (audio_desc, TRUE, &audio_error);
g_free (audio_desc);
if (audio_error) {