khronosfws/openmax_al/src/common/xathreadsafety.c
changeset 53 eabc8c503852
parent 33 5e8b14bae8c3
equal deleted inserted replaced
48:a493a607b5bf 53:eabc8c503852
    59                 ret = XAImpl_CreateMutex(&threadSafety->mutexTable[i]);
    59                 ret = XAImpl_CreateMutex(&threadSafety->mutexTable[i]);
    60                 if (ret != XA_RESULT_SUCCESS)
    60                 if (ret != XA_RESULT_SUCCESS)
    61                     {
    61                     {
    62                     break;
    62                     break;
    63                     }
    63                     }
    64                 DEBUG_INFO_A2("Created %s:%x",MEDIAOBJECTNAME(i), threadSafety->mutexTable[i] );
    64                 DEBUG_INFO_A1_STR("Created for [%s]", MEDIAOBJECTNAME(i));
       
    65                 DEBUG_INFO_A1("Object pointer in mutex table: %x", (int)threadSafety->mutexTable[i] );
    65                 }
    66                 }
    66             }
    67             }
    67         else
    68         else
    68             {
    69             {
    69             DEBUG_INFO("Thread safety: disabled.");
    70             DEBUG_INFO("Thread safety: disabled.");
    88         {
    89         {
    89         if (threadSafety->tsEnabled)
    90         if (threadSafety->tsEnabled)
    90             {
    91             {
    91             for (i = 0; i < XATSCount; i++)
    92             for (i = 0; i < XATSCount; i++)
    92                 {
    93                 {
    93                 DEBUG_INFO_A2("Free %s:%x",MEDIAOBJECTNAME(i), threadSafety->mutexTable[i] );
    94                 DEBUG_INFO_A1_STR("Free for [%s]", MEDIAOBJECTNAME(i));
       
    95                 DEBUG_INFO_A1("Object pointer in mutex table: %x", (int)threadSafety->mutexTable[i] );
    94                 XAImpl_DeleteMutex(threadSafety->mutexTable[i]);
    96                 XAImpl_DeleteMutex(threadSafety->mutexTable[i]);
    95                 }
    97                 }
    96             }
    98             }
    97         free(threadSafety);
    99         free(threadSafety);
       
   100         threadSafety = NULL;
    98         }
   101         }
    99     else
   102     else
   100         {
   103         {
   101         DEBUG_INFO("Thread safety: disabled.");
   104         DEBUG_INFO("Thread safety: disabled.");
   102         }
   105         }
   122         if (threadSafety->tsEnabled)
   125         if (threadSafety->tsEnabled)
   123             {
   126             {
   124             ret = XAImpl_UnlockMutex(threadSafety->mutexTable[mediaObject]);
   127             ret = XAImpl_UnlockMutex(threadSafety->mutexTable[mediaObject]);
   125             if (ret == XA_RESULT_SUCCESS)
   128             if (ret == XA_RESULT_SUCCESS)
   126                 {
   129                 {
   127                 DEBUG_INFO_A2("Released lock for %s:%x",MEDIAOBJECTNAME(mediaObject), threadSafety->mutexTable[mediaObject] );
   130                 DEBUG_INFO_A1_STR("Released lock for [%s]", MEDIAOBJECTNAME(mediaObject));
       
   131                 DEBUG_INFO_A1("Object pointer in mutex table: %x", (int)threadSafety->mutexTable[mediaObject] );
   128                 }
   132                 }
   129             }
   133             }
   130         }
   134         }
   131     else
   135     else
   132         {
   136         {
   151         if (threadSafety->tsEnabled)
   155         if (threadSafety->tsEnabled)
   152             {
   156             {
   153             ret = XAImpl_TryLockMutex(threadSafety->mutexTable[mediaObject]);
   157             ret = XAImpl_TryLockMutex(threadSafety->mutexTable[mediaObject]);
   154             if (ret == XA_RESULT_SUCCESS)
   158             if (ret == XA_RESULT_SUCCESS)
   155                 {
   159                 {
   156                 DEBUG_INFO_A2("Locked %s:%x",MEDIAOBJECTNAME(mediaObject), threadSafety->mutexTable[mediaObject] );
   160                 DEBUG_INFO_A1_STR("Obtained lock for [%s]", MEDIAOBJECTNAME(mediaObject));
       
   161                 DEBUG_INFO_A1("Object pointer in mutex table: %x", (int                                                                                                                              )threadSafety->mutexTable[mediaObject] );
   157                 }
   162                 }
   158             }
   163             }
   159         }
   164         }
   160     else
   165     else
   161         {
   166         {