summaryrefslogtreecommitdiffstats
path: root/chrome/common/render_messages.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/common/render_messages.h')
-rw-r--r--chrome/common/render_messages.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h
index 689918e..c96d787 100644
--- a/chrome/common/render_messages.h
+++ b/chrome/common/render_messages.h
@@ -21,6 +21,7 @@
#include "chrome/common/modal_dialog_event.h"
#include "chrome/common/page_transition_types.h"
#include "googleurl/src/gurl.h"
+#include "media/audio/audio_output.h"
#include "net/base/upload_data.h"
#include "net/url_request/url_request_status.h"
#include "webkit/glue/autofill_form.h"
@@ -324,6 +325,23 @@ enum ViewHostMsg_ImeControl {
IME_COMPLETE_COMPOSITION,
};
+// Parameters for creating an audio output stream.
+struct ViewHostMsg_Audio_CreateStream {
+ // Format request for the stream.
+ AudioManager::Format format;
+
+ // Number of channels.
+ int channels;
+
+ // Sampling rate (frequency) of the output stream.
+ int sample_rate;
+
+ // Number of bits per sample;
+ int bits_per_sample;
+
+ // Number of bytes per packet.
+ size_t packet_size;
+};
namespace IPC {
@@ -1587,6 +1605,75 @@ struct ParamTraits<ModalDialogEvent> {
}
};
+// Traits for AudioManager::Format.
+template <>
+struct ParamTraits<AudioManager::Format> {
+ typedef AudioManager::Format param_type;
+ static void Write(Message* m, const param_type& p) {
+ m->WriteInt(p);
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ int type;
+ if (!m->ReadInt(iter, &type))
+ return false;
+ *p = static_cast<AudioManager::Format>(type);
+ return true;
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ std::wstring format;
+ switch (p) {
+ case AudioManager::AUDIO_PCM_LINEAR:
+ format = L"AUDIO_PCM_LINEAR";
+ break;
+ case AudioManager::AUDIO_PCM_DELTA:
+ format = L"AUDIO_PCM_DELTA";
+ break;
+ case AudioManager::AUDIO_MOCK:
+ format = L"AUDIO_MOCK";
+ break;
+ default:
+ format = L"AUDIO_LAST_FORMAT";
+ break;
+ }
+ LogParam(format, l);
+ }
+};
+
+// Traits for ViewHostMsg_Audio_CreateStream.
+template <>
+struct ParamTraits<ViewHostMsg_Audio_CreateStream> {
+ typedef ViewHostMsg_Audio_CreateStream param_type;
+ static void Write(Message* m, const param_type& p) {
+ WriteParam(m, p.format);
+ WriteParam(m, p.channels);
+ WriteParam(m, p.sample_rate);
+ WriteParam(m, p.bits_per_sample);
+ WriteParam(m, p.packet_size);
+ }
+ static bool Read(const Message* m, void** iter, param_type* p) {
+ return
+ ReadParam(m, iter, &p->format) &&
+ ReadParam(m, iter, &p->channels) &&
+ ReadParam(m, iter, &p->sample_rate) &&
+ ReadParam(m, iter, &p->bits_per_sample) &&
+ ReadParam(m, iter, &p->packet_size);
+ }
+ static void Log(const param_type& p, std::wstring* l) {
+ l->append(L"<ViewHostMsg_Audio_CreateStream>(");
+ LogParam(p.format, l);
+ l->append(L", ");
+ LogParam(p.channels, l);
+ l->append(L", ");
+ LogParam(p.sample_rate, l);
+ l->append(L", ");
+ LogParam(p.bits_per_sample, l);
+ l->append(L", ");
+ LogParam(p.packet_size, l);
+ l->append(L")");
+ }
+};
+
+
#if defined(OS_POSIX)
// TODO(port): this shouldn't exist. However, the plugin stuff is really using