| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010, Google Inc. All rights reserved. | 2 * Copyright (C) 2010, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 568 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 } else { | 579 } else { |
| 580 // We were unable to get the lock, so put this in a list to finish up | 580 // We were unable to get the lock, so put this in a list to finish up |
| 581 // later. | 581 // later. |
| 582 ASSERT(context()->isAudioThread()); | 582 ASSERT(context()->isAudioThread()); |
| 583 context()->addDeferredBreakConnection(*this); | 583 context()->addDeferredBreakConnection(*this); |
| 584 } | 584 } |
| 585 } | 585 } |
| 586 | 586 |
| 587 void AudioNode::breakConnectionWithLock() | 587 void AudioNode::breakConnectionWithLock() |
| 588 { | 588 { |
| 589 #if ENABLE(OILPAN) | |
| 590 atomicDecrement(&m_connectionRefCount); | 589 atomicDecrement(&m_connectionRefCount); |
| 591 if (m_connectionRefCount == 0) | 590 #if !ENABLE(OILPAN) |
| 591 ASSERT(m_normalRefCount > 0); |
| 592 #endif |
| 593 if (!m_connectionRefCount) |
| 592 disableOutputsIfNecessary(); | 594 disableOutputsIfNecessary(); |
| 593 #else | |
| 594 ASSERT(m_normalRefCount > 0); | |
| 595 atomicDecrement(&m_connectionRefCount); | |
| 596 if (m_connectionRefCount == 0 && m_normalRefCount > 1) | |
| 597 disableOutputsIfNecessary(); | |
| 598 #endif | |
| 599 } | 595 } |
| 600 | 596 |
| 601 #if !ENABLE(OILPAN) | 597 #if !ENABLE(OILPAN) |
| 602 void AudioNode::finishDeref() | 598 void AudioNode::finishDeref() |
| 603 { | 599 { |
| 604 ASSERT(context()->isGraphOwner()); | 600 ASSERT(context()->isGraphOwner()); |
| 605 | 601 |
| 606 ASSERT(m_normalRefCount > 0); | 602 ASSERT(m_normalRefCount > 0); |
| 607 atomicDecrement(&m_normalRefCount); | 603 atomicDecrement(&m_normalRefCount); |
| 608 | 604 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 { | 643 { |
| 648 visitor->trace(m_context); | 644 visitor->trace(m_context); |
| 649 visitor->trace(m_inputs); | 645 visitor->trace(m_inputs); |
| 650 visitor->trace(m_outputs); | 646 visitor->trace(m_outputs); |
| 651 EventTargetWithInlineData::trace(visitor); | 647 EventTargetWithInlineData::trace(visitor); |
| 652 } | 648 } |
| 653 | 649 |
| 654 } // namespace blink | 650 } // namespace blink |
| 655 | 651 |
| 656 #endif // ENABLE(WEB_AUDIO) | 652 #endif // ENABLE(WEB_AUDIO) |
| OLD | NEW |