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

Side by Side Diff: content/browser/resources/media/main/main.js

Issue 18889006: Removed old media-internals page and rewrote it. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 5 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 unified diff | Download patch
OLDNEW
(Empty)
1 /**
2 * A global object that gets used by the C++ interface.
3 */
4 var media = (function () {
5 'use strict';
6
7 var manager = new PlayerManager();
8
9 /**
10 * Call to modify or add a system property
11 */
12 function onSystemProperty(timestamp, key, value) {
13 console.log("System properties not yet implemented");
14 }
15
16 /**
17 * Call to modify or add a property on a player
18 */
19 function onPlayerProperty(id, timestamp, key, value) {
20 manager.updatePlayerInfo(id, timestamp, key, value);
21 }
22
23 function onPlayerPropertyNoRecord(id, timestamp, key, value) {
24 manager.updatePlayerInfoNoRecord(id, timestamp, key, value);
25 }
26
27 /**
28 * Call to add a player.
29 */
30 function onPlayerOpen(id, timestamp) {
31 manager.addPlayer(id, timestamp);
32 }
33
34 /**
35 * Call to remove a player.
36 */
37 function onPlayerClose(id) {
38 manager.removePlayer(id);
39 }
40
41 // TODO(toverby): If you get a media event that doesn't have any properties,
42 // do something with the |type| of the event.
43
44 var media = {};
45 media.onSystemProperty = onSystemProperty;
46 media.onPlayerProperty = onPlayerProperty;
47 media.onPlayerPropertyNoRecord = onPlayerPropertyNoRecord;
48 media.onPlayerOpen = onPlayerOpen;
49 media.onPlayerClose = onPlayerClose;
50
51 // ----------------------------------------------
52 // Everything beyond this point is for backwards
53 // compatibility reasons. It will go away when
54 // the backend is updated.
55 // ----------------------------------------------
56
57 media.onNetUpdate = function (update) {
58 // TODO(tyoverby): Implement
59 };
60
61 media.onRendererTerminated = function (renderId) {
62 goog.object.forEach(manager.players, function (playerInfo, id) {
63 if (playerInfo.properties['render_id'] == renderId) {
64 media.onPlayerClose(id);
65 }
66 });
67 };
68
69 // For whatever reason, addAudioStream is also called on
70 // the removal of audio streams.
71 media.addAudioStream = function (event) {
72 switch (event.status) {
73 case 'created':
74 media.onPlayerOpen(event.id);
75 // We have to simulate the timestamp since
76 // it isn't provided to us.
77 media.onPlayerProperty(event.id, (new Date()).getTime(),
78 'playing', event.playing);
79 break;
80 case 'closed':
81 media.onPlayerClose(event.id);
82 break;
83 }
84 };
85 media.onItemDeleted = function () {
86 // This only gets called when an audio stream is removed, which
87 // for whatever reason is also handled by addAudioStream...
88 // Because it is already handled, we can safely ignore it.
89 };
90
91 media.onMediaEvent = function (event) {
92 var source = event.renderer + ':' + event.player;
93
94 // Although this gets called on every event, there
95 // is nothing we can do about this because there is no onOpen event.
96 media.onPlayerOpen(source);
97 media.onPlayerPropertyNoRecord(source, event.ticksMillis, 'render_id',
98 event.renderer);
99 media.onPlayerPropertyNoRecord(source, event.ticksMillis, 'player_id',
100 event.player);
101
102 var propertyCount = 0;
103 goog.object.forEach(event.params, function (value, key) {
104 key = key.trim();
105 if (key === 'buffer_start' || key === 'buffer_end' ||
106 key === 'buffer_current' || key === 'is_downloading_data') {
107 media.onPlayerPropertyNoRecord(source, event.ticksMillis, key,
108 value);
109 } else {
110 media.onPlayerProperty(source, event.ticksMillis, key, value);
111 }
112 propertyCount += 1;
113 });
114
115 if (propertyCount === 0) {
116 media.onPlayerProperty(source, event.ticksMillis, 'EVENT',
117 event.type);
118 }
119 };
120
121 return media;
122 }());
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698