]> git.vomp.tv Git - vompclient-marten.git/commitdiff
Change mutex locking in setvolume and mute
authorMarten Richter <marten.richter@freenet.de>
Thu, 3 Jan 2013 07:21:28 +0000 (08:21 +0100)
committerMarten Richter <marten.richter@freenet.de>
Thu, 3 Jan 2013 07:21:28 +0000 (08:21 +0100)
audioomx.cc

index a803c1cfc4bb2fef6742082c4e3ec5b5f370b485..d554ca2d42e1e4bd27b6cd88ee963416aa8732e7 100644 (file)
@@ -1386,9 +1386,10 @@ int AudioOMX::mute() {
        if (!initted)
                return 0;
        Log::getInstance()->log("Audio", Log::DEBUG, "MUTE MUTE MUTE");
+       VideoOMX *vw = (VideoOMX*) Video::getInstance();
+    vw->LockClock();
        if (omx_running) {
-               VideoOMX *vw = (VideoOMX*) Video::getInstance();
-               vw->LockClock();
+
                OMX_AUDIO_CONFIG_MUTETYPE amute;
                memset(&amute, 0, sizeof(amute));
                amute.nSize = sizeof(amute);
@@ -1403,8 +1404,9 @@ int AudioOMX::mute() {
                                        omx_rend_input_port);
                        return 0;
                }
-               vw->UnlockClock();
+
        }
+       vw->UnlockClock();
 
        muted = 1;
        return 1;
@@ -1415,9 +1417,10 @@ int AudioOMX::unMute()
   if (!initted) return 0;
 
   Log::getInstance()->log("Audio", Log::DEBUG, "MUTE OFF OFF OFF");
+  VideoOMX *vw = (VideoOMX*) Video::getInstance();
+  vw->LockClock();
   if (omx_running) {
-               VideoOMX *vw = (VideoOMX*) Video::getInstance();
-               vw->LockClock();
+
                OMX_AUDIO_CONFIG_MUTETYPE amute;
                memset(&amute, 0, sizeof(amute));
                amute.nSize = sizeof(amute);
@@ -1432,9 +1435,10 @@ int AudioOMX::unMute()
                                        omx_rend_input_port);
                        return 0;
                }
-               vw->UnlockClock();
        }
 
+       vw->UnlockClock();
+
   muted = 0;
   return 1;
 }
@@ -1487,10 +1491,10 @@ int AudioOMX::setVolume(int tvolume)
   volume=tvolume;
 
 
-
+  VideoOMX *vw = (VideoOMX*) Video::getInstance();
+  vw->LockClock();
   if (omx_running) {
-         VideoOMX *vw = (VideoOMX*) Video::getInstance();
-         vw->LockClock();
+
          OMX_AUDIO_CONFIG_VOLUMETYPE avol;
          memset(&avol, 0, sizeof(avol));
          avol.nSize = sizeof(avol);
@@ -1506,8 +1510,9 @@ int AudioOMX::setVolume(int tvolume)
                                  omx_rend_input_port);
                  return 0;
          }
-         vw->UnlockClock();
+
   }
+  vw->UnlockClock();
 
   return 1;
 }