[gstreamer-bugs] [Bug 614305] [PLUGIN-MOVE] oss4 should be moved to good

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Apr 19 13:40:32 PDT 2010


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

Brian Cameron <brian.cameron> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #158922|0                           |1
        is obsolete|                            |

--- Comment #13 from Brian Cameron <brian.cameron at oracle.com> 2010-04-19 20:40:27 UTC ---
Created an attachment (id=159111)
 View: https://bugzilla.gnome.org/attachment.cgi?id=159111
 Review: https://bugzilla.gnome.org/review?bug=614305&attachment=159111

updated patch to add GstStreamVolume


Here is an updated patch which does the following:

1) Now get/set volume/mute is done with helper functions.
2) Added GST_OBJECT_LOCK/GST_OBJECT_UNLOCK calls surrounding ioctl calls.
3) Added the g_type_add_interface_static () call for 
   GST_TYPE_IMPLEMENTS_INTERFACE.

I think this fixes the major issues raised about this patch.  Is there any more
work that needs to be done?

Note that I did not change mute_volume so that it is stored as a single mono
volume value internally.  This seems a bad idea to me for several reasons. 
This value is just loaded from the ioctl when muted, and then when unmuting,
the code just put the same value back via the ioctl call.  This is much easier
than doing extra calculations.  The current code avoids doing extra
calculations and only actually sets the value via code like "oss->mute_volume =
val | (val << 8)" when initializing it in gst_oss4_sink_class_init and when
setting it to 100 if the saved mute volume happens to be 0.  Saving the value
internally as a single mono value would require doing extra calculations when
getting and setting the value, which seems better to just avoid.  If you feel
strongly about this, though, I can change the code.

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