Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
b9b82151
Commit
b9b82151
authored
Feb 19, 2017
by
Luca Barbato
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rtsp: Move the pollfd setup out of the for loop
parent
150e99d6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
28 deletions
+28
-28
rtsp.c
libavformat/rtsp.c
+28
-28
No files found.
libavformat/rtsp.c
View file @
b9b82151
...
...
@@ -1920,39 +1920,39 @@ static int udp_read_packet(AVFormatContext *s, RTSPStream **prtsp_st,
struct
pollfd
*
p
=
rt
->
p
;
int
*
fds
=
NULL
,
fdsnum
,
fdsidx
;
if
(
rt
->
rtsp_hd
)
{
tcp_fd
=
ffurl_get_file_handle
(
rt
->
rtsp_hd
);
p
[
max_p
].
fd
=
tcp_fd
;
p
[
max_p
++
].
events
=
POLLIN
;
}
else
{
tcp_fd
=
-
1
;
}
for
(
i
=
0
;
i
<
rt
->
nb_rtsp_streams
;
i
++
)
{
rtsp_st
=
rt
->
rtsp_streams
[
i
];
if
(
rtsp_st
->
rtp_handle
)
{
if
(
ret
=
ffurl_get_multi_file_handle
(
rtsp_st
->
rtp_handle
,
&
fds
,
&
fdsnum
))
{
av_log
(
s
,
AV_LOG_ERROR
,
"Unable to recover rtp ports
\n
"
);
return
ret
;
}
if
(
fdsnum
!=
2
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Number of fds %d not supported
\n
"
,
fdsnum
);
return
AVERROR_INVALIDDATA
;
}
for
(
fdsidx
=
0
;
fdsidx
<
fdsnum
;
fdsidx
++
)
{
p
[
max_p
].
fd
=
fds
[
fdsidx
];
p
[
max_p
++
].
events
=
POLLIN
;
}
av_free
(
fds
);
}
}
for
(;;)
{
if
(
ff_check_interrupt
(
&
s
->
interrupt_callback
))
return
AVERROR_EXIT
;
if
(
wait_end
&&
wait_end
-
av_gettime_relative
()
<
0
)
return
AVERROR
(
EAGAIN
);
max_p
=
0
;
if
(
rt
->
rtsp_hd
)
{
tcp_fd
=
ffurl_get_file_handle
(
rt
->
rtsp_hd
);
p
[
max_p
].
fd
=
tcp_fd
;
p
[
max_p
++
].
events
=
POLLIN
;
}
else
{
tcp_fd
=
-
1
;
}
for
(
i
=
0
;
i
<
rt
->
nb_rtsp_streams
;
i
++
)
{
rtsp_st
=
rt
->
rtsp_streams
[
i
];
if
(
rtsp_st
->
rtp_handle
)
{
if
(
ret
=
ffurl_get_multi_file_handle
(
rtsp_st
->
rtp_handle
,
&
fds
,
&
fdsnum
))
{
av_log
(
s
,
AV_LOG_ERROR
,
"Unable to recover rtp ports
\n
"
);
return
ret
;
}
if
(
fdsnum
!=
2
)
{
av_log
(
s
,
AV_LOG_ERROR
,
"Number of fds %d not supported
\n
"
,
fdsnum
);
return
AVERROR_INVALIDDATA
;
}
for
(
fdsidx
=
0
;
fdsidx
<
fdsnum
;
fdsidx
++
)
{
p
[
max_p
].
fd
=
fds
[
fdsidx
];
p
[
max_p
++
].
events
=
POLLIN
;
}
av_free
(
fds
);
}
}
n
=
poll
(
p
,
max_p
,
POLL_TIMEOUT_MS
);
if
(
n
>
0
)
{
int
j
=
1
-
(
tcp_fd
==
-
1
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment