1
0
Fork 0
mirror of https://github.com/albfan/miraclecast.git synced 2025-02-14 23:11:54 +00:00

miracle-wfdctl: fine tune gstreamer pipeline

This commit is contained in:
Derek Dai 2017-03-08 16:28:18 +08:00
parent 720f2a1d91
commit d41a88cc8b
No known key found for this signature in database
GPG key ID: E109CC97553EF009
2 changed files with 13 additions and 7 deletions

2
debian/control vendored
View file

@ -8,5 +8,5 @@ Homepage: https://github.com/derekdai/miraclecast
Package: miraclecast
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

View file

@ -566,12 +566,16 @@ static int wfd_out_session_create_pipeline(struct wfd_session *s)
"use-damage=false",
"show-pointer=false",
vsrc_params,
"!", "video/x-raw,",
"framerate=50/1",
"!", "video/x-raw",
"framerate=60/1",
"!", "vaapipostproc",
"!", "video/x-raw,",
"format=YV12",
"!", "vaapih264enc",
"rate-control=2",
"num-slices=128",
"max-bframes=0",
"init-qp=21",
"!", "queue",
"max-size-buffers=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",
"name=session",
"do-retransmission=true",
"do-sync-event=true",
"do-lost=true",
"ntp-time-source=3",
"buffer-mode=0",
"latency=30",
"max-misorder-time=40",
"latency=20",
"max-misorder-time=30",
"!", "application/x-rtp",
"!", "udpsink",
"sync=false",
@ -613,8 +619,7 @@ static int wfd_out_session_create_pipeline(struct wfd_session *s)
};
if(s->stream.rtcp_port) {
tmp = pipeline_desc;
while(*tmp ++);
for(tmp = pipeline_desc; *tmp; ++tmp);
*tmp ++ = "session.send_rtcp_src_0";
*tmp ++ = "!";
*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 ++ = "sync=false";
*tmp ++ = "async=false";
*tmp ++ = NULL;
}
/* bad pratice, but since we are in the same process,