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

Side by Side Diff: media/base/android/media_codec_player.cc

Issue 1341883003: Prepare MediaDrmBridge to work with MediaCodecPlayer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@bug526755
Patch Set: Fixed MediaDrmBridgeTest unit tests Created 5 years, 2 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
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/base/android/media_codec_player.h" 5 #include "media/base/android/media_codec_player.h"
6 6
7 #include "base/barrier_closure.h" 7 #include "base/barrier_closure.h"
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "base/thread_task_runner_handle.h" 11 #include "base/thread_task_runner_handle.h"
12 #include "base/threading/thread.h" 12 #include "base/threading/thread.h"
13 #include "media/base/android/media_codec_audio_decoder.h" 13 #include "media/base/android/media_codec_audio_decoder.h"
14 #include "media/base/android/media_codec_video_decoder.h" 14 #include "media/base/android/media_codec_video_decoder.h"
15 #include "media/base/android/media_player_manager.h" 15 #include "media/base/android/media_player_manager.h"
16 #include "media/base/android/media_task_runner.h"
16 #include "media/base/timestamp_constants.h" 17 #include "media/base/timestamp_constants.h"
17 18
18 #define RUN_ON_MEDIA_THREAD(METHOD, ...) \ 19 #define RUN_ON_MEDIA_THREAD(METHOD, ...) \
19 do { \ 20 do { \
20 if (!GetMediaTaskRunner()->BelongsToCurrentThread()) { \ 21 if (!GetMediaTaskRunner()->BelongsToCurrentThread()) { \
21 DCHECK(ui_task_runner_->BelongsToCurrentThread()); \ 22 DCHECK(ui_task_runner_->BelongsToCurrentThread()); \
22 GetMediaTaskRunner()->PostTask( \ 23 GetMediaTaskRunner()->PostTask( \
23 FROM_HERE, base::Bind(&MediaCodecPlayer::METHOD, media_weak_this_, \ 24 FROM_HERE, base::Bind(&MediaCodecPlayer::METHOD, media_weak_this_, \
24 ##__VA_ARGS__)); \ 25 ##__VA_ARGS__)); \
25 return; \ 26 return; \
26 } \ 27 } \
27 } while (0) 28 } while (0)
28 29
29 namespace media { 30 namespace media {
30 31
31 class MediaThread : public base::Thread {
32 public:
33 MediaThread() : base::Thread("BrowserMediaThread") {
34 Start();
35 }
36 };
37
38 // Create media thread
39 base::LazyInstance<MediaThread>::Leaky
40 g_media_thread = LAZY_INSTANCE_INITIALIZER;
41
42
43 scoped_refptr<base::SingleThreadTaskRunner> GetMediaTaskRunner() {
44 return g_media_thread.Pointer()->task_runner();
45 }
46
47 // MediaCodecPlayer implementation. 32 // MediaCodecPlayer implementation.
48 33
49 MediaCodecPlayer::MediaCodecPlayer( 34 MediaCodecPlayer::MediaCodecPlayer(
50 int player_id, 35 int player_id,
51 base::WeakPtr<MediaPlayerManager> manager, 36 base::WeakPtr<MediaPlayerManager> manager,
52 const RequestMediaResourcesCB& request_media_resources_cb, 37 const RequestMediaResourcesCB& request_media_resources_cb,
53 scoped_ptr<DemuxerAndroid> demuxer, 38 scoped_ptr<DemuxerAndroid> demuxer,
54 const GURL& frame_url) 39 const GURL& frame_url)
55 : MediaPlayerAndroid(player_id, 40 : MediaPlayerAndroid(player_id,
56 manager.get(), 41 manager.get(),
(...skipping 1177 matching lines...) Expand 10 before | Expand all | Expand 10 after
1234 RETURN_STRING(kStateWaitingForSurface); 1219 RETURN_STRING(kStateWaitingForSurface);
1235 RETURN_STRING(kStateWaitingForSeek); 1220 RETURN_STRING(kStateWaitingForSeek);
1236 RETURN_STRING(kStateError); 1221 RETURN_STRING(kStateError);
1237 } 1222 }
1238 return nullptr; // crash early 1223 return nullptr; // crash early
1239 } 1224 }
1240 1225
1241 #undef RETURN_STRING 1226 #undef RETURN_STRING
1242 1227
1243 } // namespace media 1228 } // namespace media
OLDNEW
« no previous file with comments | « media/base/android/media_codec_player.h ('k') | media/base/android/media_codec_player_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698