Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(267)

Unified Diff: ppapi/shared_impl/ppb_audio_shared.cc

Issue 10837350: Revert 152406 - Introduce shared_memory_support media target for PPAPI. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ppapi/shared_impl/ppb_audio_shared.h ('k') | webkit/plugins/ppapi/ppb_audio_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ppapi/shared_impl/ppb_audio_shared.cc
===================================================================
--- ppapi/shared_impl/ppb_audio_shared.cc (revision 152430)
+++ ppapi/shared_impl/ppb_audio_shared.cc (working copy)
@@ -5,9 +5,10 @@
#include "ppapi/shared_impl/ppb_audio_shared.h"
#include "base/logging.h"
-#include "media/audio/shared_memory_util.h"
#include "ppapi/shared_impl/ppapi_globals.h"
+using base::subtle::Atomic32;
+
namespace ppapi {
#if defined(OS_NACL)
@@ -17,6 +18,29 @@
}
#endif // defined(OS_NACL)
+// FIXME: The following two functions (TotalSharedMemorySizeInBytes,
+// SetActualDataSizeInBytes) are copied from audio_util.cc.
+// Remove these functions once a minimal media library is provided for them.
+// code.google.com/p/chromium/issues/detail?id=123203
+
+uint32 TotalSharedMemorySizeInBytes(uint32 packet_size) {
+ // Need to reserve extra 4 bytes for size of data.
+ return packet_size + sizeof(Atomic32);
+}
+
+void SetActualDataSizeInBytes(base::SharedMemory* shared_memory,
+ uint32 shared_memory_size,
+ uint32 actual_data_size) {
+ char* ptr = static_cast<char*>(shared_memory->memory()) + shared_memory_size;
+ DCHECK_EQ(0u, reinterpret_cast<size_t>(ptr) & 3);
+
+ // Set actual data size at the end of the buffer.
+ base::subtle::Release_Store(reinterpret_cast<volatile Atomic32*>(ptr),
+ actual_data_size);
+}
+
+const int PPB_Audio_Shared::kPauseMark = -1;
+
PPB_Audio_Shared::PPB_Audio_Shared()
: playing_(false),
shared_memory_size_(0),
@@ -69,8 +93,7 @@
shared_memory_.reset(new base::SharedMemory(shared_memory_handle, false));
shared_memory_size_ = shared_memory_size;
- if (!shared_memory_->Map(
- media::TotalSharedMemorySizeInBytes(shared_memory_size_))) {
+ if (!shared_memory_->Map(TotalSharedMemorySizeInBytes(shared_memory_size_))) {
PpapiGlobals::Get()->LogWithSource(instance, PP_LOGLEVEL_WARNING, "",
"Failed to map shared memory for PPB_Audio_Shared.");
}
@@ -144,12 +167,12 @@
while (sizeof(pending_data) ==
socket_->Receive(&pending_data, sizeof(pending_data)) &&
- pending_data != media::kPauseMark) {
+ pending_data != kPauseMark) {
callback_(buffer, shared_memory_size_, user_data_);
// Let the host know we are done.
- media::SetActualDataSizeInBytes(
- shared_memory_.get(), shared_memory_size_, shared_memory_size_);
+ SetActualDataSizeInBytes(shared_memory_.get(), shared_memory_size_,
+ shared_memory_size_);
}
}
Property changes on: ppapi/shared_impl/ppb_audio_shared.cc
___________________________________________________________________
Added: svn:mergeinfo
« no previous file with comments | « ppapi/shared_impl/ppb_audio_shared.h ('k') | webkit/plugins/ppapi/ppb_audio_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698