[Bug 796842] srt: Allow the host name "localhost"

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Jul 23 03:30:08 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=796842

--- Comment #9 from Olivier CrĂȘte <olivier.crete at ocrete.ca> ---
Review of attachment 373100:
 --> (https://bugzilla.gnome.org/review?bug=796842&attachment=373100)

::: ext/srt/gstsrt.c
@@ +215,3 @@
+  /* This is a sink, we're always a sender */
+  srt_setsockopt (sock, 0, SRTO_SENDER, &(int) {
+      1}, sizeof (int));

But you call this form the source also.

--- Comment #10 from Seungha Yang <pudding8757 at gmail.com> ---
(In reply to Olivier CrĂȘte from comment #7)
> Review of attachment 373101 [details] [review]:
> 
> The problem is that name resolution is a blocking operation here.. and
> gst_*src_start() shouldn't be blocking. That would mean moving the thing to
> the async api .. with gst_base_src_set_async() and then create a thread if
> the name resolution is blocking and then call gst_base_src_start_complete()
> when it's done.
> 
> I guess for the sink it's already in the streaming thread, so it doesn't
> matter as much.

I guess the point which you are worrying about is that source's start()/stop()
is most likely app thread and (i.e., triggering set_state()) blocking the app
thread might cause problem, right?
If my understanding is correct, I think "blocking" could be ugly and agree with
your point, but I'm wondering whether it's really critical or not, because
async source element also looks tricky. The problem is,

- I couldn't find any async source element for now, and even some elements
which are using name resolving (such as udp/tcp source) are not async. So,
there seems no good example for me. And when I saw basesrc's impl., finding
proper room for calling gst_base_src_start_complete() seems to be a little
tricky, because we should meet following two conditions (if it's wrong, please
correct me)
1) gst_base_src_start_complete() shouldn't be called in
gst_base_src_get_range() thread (loop thread) since both are taking
stream_lock.
2) gst_base_src_start_complete() should be called before
gst_base_src_get_range() in order for create()/fill() methods not to return
null buffer.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list