[Bug 774173] New: media: emit signal SIGNAL_NEW_STATE only when state change happens

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Nov 10 05:16:34 UTC 2016


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

            Bug ID: 774173
           Summary: media: emit signal SIGNAL_NEW_STATE only when state
                    change happens
    Classification: Platform
           Product: GStreamer
           Version: unspecified
                OS: All
            Status: NEW
          Severity: major
          Priority: Normal
         Component: gst-rtsp-server
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: arora.neha at samsung.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 339424
  --> https://bugzilla.gnome.org/attachment.cgi?id=339424&action=edit
Patch

Pre-condition: 
Multiple sink devices are connected and gst_rtsp_media_factory_set_shared
propoerty is set to true (that is all clients are sharing same media).

Reference code: rtsp-media.c Line number: 3847
  if (priv->target_state != state) {
    if (do_state)
      media_set_pipeline_state_locked (media, state);

    g_signal_emit (media, gst_rtsp_media_signals[SIGNAL_NEW_STATE], 0, state,
NULL);
  }

Reproduction Steps:
State change request from one client (ex. Pause request from 1st client), media
state changed is not done in this case as other clients are active and using
the same media. 

Line 3848: do_state is false, and media_set_pipeline_state_locked will not be
executed.

But, SIGNAL_NEW_STATE is emitted at this point, whereas media state is not
changed.

Possible solution:
Signal to be emitted inside do_state check.

-- 
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