mirror of
https://github.com/albfan/miraclecast.git
synced 2025-02-15 04:42:06 +00:00
miracle-wfdctl: fine tune gstreamer pipeline
This commit is contained in:
parent
720f2a1d91
commit
d41a88cc8b
2 changed files with 13 additions and 7 deletions
2
debian/control
vendored
2
debian/control
vendored
|
@ -8,5 +8,5 @@ Homepage: https://github.com/derekdai/miraclecast
|
||||||
|
|
||||||
Package: miraclecast
|
Package: miraclecast
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, gstreamer1.0-tools, gstreamer1.0-vaapi, mesa-va-drivers, i965-va-driver
|
Depends: ${shlibs:Depends}, ${misc:Depends}, libsystemd0, libglib2.0-0, libgstreamer1.0-0, gstreamer1.0-pulseaudio, gstreamer1.0-vaapi, gstreamer1.0-plugins-good, mesa-va-drivers, i965-va-driver
|
||||||
Description: Connect external monitors to your system via Wifi-Display specification also known as Miracast
|
Description: Connect external monitors to your system via Wifi-Display specification also known as Miracast
|
||||||
|
|
|
@ -566,12 +566,16 @@ static int wfd_out_session_create_pipeline(struct wfd_session *s)
|
||||||
"use-damage=false",
|
"use-damage=false",
|
||||||
"show-pointer=false",
|
"show-pointer=false",
|
||||||
vsrc_params,
|
vsrc_params,
|
||||||
"!", "video/x-raw,",
|
"!", "video/x-raw",
|
||||||
"framerate=50/1",
|
"framerate=60/1",
|
||||||
"!", "vaapipostproc",
|
"!", "vaapipostproc",
|
||||||
"!", "video/x-raw,",
|
"!", "video/x-raw,",
|
||||||
"format=YV12",
|
"format=YV12",
|
||||||
"!", "vaapih264enc",
|
"!", "vaapih264enc",
|
||||||
|
"rate-control=2",
|
||||||
|
"num-slices=128",
|
||||||
|
"max-bframes=0",
|
||||||
|
"init-qp=21",
|
||||||
"!", "queue",
|
"!", "queue",
|
||||||
"max-size-buffers=0",
|
"max-size-buffers=0",
|
||||||
"max-size-bytes=0",
|
"max-size-bytes=0",
|
||||||
|
@ -581,10 +585,12 @@ static int wfd_out_session_create_pipeline(struct wfd_session *s)
|
||||||
"!", ".send_rtp_sink_0", "rtpbin",
|
"!", ".send_rtp_sink_0", "rtpbin",
|
||||||
"name=session",
|
"name=session",
|
||||||
"do-retransmission=true",
|
"do-retransmission=true",
|
||||||
|
"do-sync-event=true",
|
||||||
|
"do-lost=true",
|
||||||
"ntp-time-source=3",
|
"ntp-time-source=3",
|
||||||
"buffer-mode=0",
|
"buffer-mode=0",
|
||||||
"latency=30",
|
"latency=20",
|
||||||
"max-misorder-time=40",
|
"max-misorder-time=30",
|
||||||
"!", "application/x-rtp",
|
"!", "application/x-rtp",
|
||||||
"!", "udpsink",
|
"!", "udpsink",
|
||||||
"sync=false",
|
"sync=false",
|
||||||
|
@ -613,8 +619,7 @@ static int wfd_out_session_create_pipeline(struct wfd_session *s)
|
||||||
};
|
};
|
||||||
|
|
||||||
if(s->stream.rtcp_port) {
|
if(s->stream.rtcp_port) {
|
||||||
tmp = pipeline_desc;
|
for(tmp = pipeline_desc; *tmp; ++tmp);
|
||||||
while(*tmp ++);
|
|
||||||
*tmp ++ = "session.send_rtcp_src_0";
|
*tmp ++ = "session.send_rtcp_src_0";
|
||||||
*tmp ++ = "!";
|
*tmp ++ = "!";
|
||||||
*tmp ++ = "udpsink";
|
*tmp ++ = "udpsink";
|
||||||
|
@ -624,6 +629,7 @@ static int wfd_out_session_create_pipeline(struct wfd_session *s)
|
||||||
*tmp ++ = uint16_to_str(s->stream.rtcp_port, rrtcp_port,sizeof(rrtcp_port));
|
*tmp ++ = uint16_to_str(s->stream.rtcp_port, rrtcp_port,sizeof(rrtcp_port));
|
||||||
*tmp ++ = "sync=false";
|
*tmp ++ = "sync=false";
|
||||||
*tmp ++ = "async=false";
|
*tmp ++ = "async=false";
|
||||||
|
*tmp ++ = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* bad pratice, but since we are in the same process,
|
/* bad pratice, but since we are in the same process,
|
||||||
|
|
Loading…
Reference in a new issue