[Bug 733532] tsdemux: implement convert queries on the sinkpad

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Sep 17 06:59:10 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=733532
  GStreamer | gst-plugins-bad | git

--- Comment #7 from Edward Hervey <bilboed at bilboed.com> 2014-09-17 13:59:04 UTC ---
(In reply to comment #6)
> 
> About the locking, you might only have to care about "reffing" and copying
> point to what you need during the operation (using OBJECT_LOCK), unless all
> these object are guarantied to stay around while you old a ref on the element
> itself. I would also like if you check if mpegts_packetizer is thread safe.

  The tricky one is the program.
  I'd grab the object lock, take the pcr_pid, release the lock and then do the
rest of the calculation (and error out properly if there's already no program).

> 
> ::: gst/mpegtsdemux/tsdemux.c
> @@ +586,3 @@
> +
> +      if (G_UNLIKELY (demux->program == NULL))
> +        return FALSE;
> 
> Should you also check base->packetizer, or is this one refcount "protected" ?
> (just to double check). You need some locking/refcount, as this may be called
> from any thread.

->packetizer always exists

> 
> @@ +592,3 @@
> +      if (src_fmt == GST_FORMAT_BYTES && dest_fmt == GST_FORMAT_TIME) {
> +        dest_val = mpegts_packetizer_offset_to_ts (base->packetizer, src_val,
> +            demux->program->pcr_pid);
> 
> Is this call thread safe ?

yes

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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