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

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

Issue 1176993005: Audio and video decoders for MediaCodecPlayer (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: A better unittest fix, increased timeout for video Created 5 years, 6 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/demuxer_stream_player_params.h" 5 #include "media/base/android/demuxer_stream_player_params.h"
6 6
7 namespace media { 7 namespace media {
8 8
9 DemuxerConfigs::DemuxerConfigs() 9 DemuxerConfigs::DemuxerConfigs()
10 : audio_codec(kUnknownAudioCodec), 10 : audio_codec(kUnknownAudioCodec),
11 audio_channels(0), 11 audio_channels(0),
12 audio_sampling_rate(0), 12 audio_sampling_rate(0),
13 is_audio_encrypted(false), 13 is_audio_encrypted(false),
14 audio_codec_delay_ns(-1), 14 audio_codec_delay_ns(-1),
15 audio_seek_preroll_ns(-1), 15 audio_seek_preroll_ns(-1),
16 video_codec(kUnknownVideoCodec), 16 video_codec(kUnknownVideoCodec),
17 is_video_encrypted(false) {} 17 is_video_encrypted(false) {}
18 18
19 DemuxerConfigs::~DemuxerConfigs() {} 19 DemuxerConfigs::~DemuxerConfigs() {}
20 20
21 AccessUnit::AccessUnit() : is_end_of_stream(false), is_key_frame(false) {} 21 AccessUnit::AccessUnit() : is_end_of_stream(false), is_key_frame(false) {}
22 22
23 AccessUnit::~AccessUnit() {} 23 AccessUnit::~AccessUnit() {}
24 24
25 DemuxerData::DemuxerData() : type(DemuxerStream::UNKNOWN) {} 25 DemuxerData::DemuxerData() : type(DemuxerStream::UNKNOWN) {}
26 26
27 DemuxerData::~DemuxerData() {} 27 DemuxerData::~DemuxerData() {}
28 28
29 namespace {
30
31 #undef RETURN_STRING
32 #define RETURN_STRING(x) \
33 case x: \
34 return #x;
35
36 const char* AsString(AudioCodec codec) {
37 switch (codec) {
38 RETURN_STRING(kUnknownAudioCodec);
39 RETURN_STRING(kCodecAAC);
40 RETURN_STRING(kCodecMP3);
41 RETURN_STRING(kCodecPCM);
42 RETURN_STRING(kCodecVorbis);
43 RETURN_STRING(kCodecFLAC);
44 RETURN_STRING(kCodecAMR_NB);
45 RETURN_STRING(kCodecAMR_WB);
46 RETURN_STRING(kCodecPCM_MULAW);
47 RETURN_STRING(kCodecGSM_MS);
48 RETURN_STRING(kCodecPCM_S16BE);
49 RETURN_STRING(kCodecPCM_S24BE);
50 RETURN_STRING(kCodecOpus);
51 RETURN_STRING(kCodecPCM_ALAW);
52 RETURN_STRING(kCodecALAC);
53 }
54 NOTREACHED();
55 return nullptr; // crash early
56 }
57
58 const char* AsString(VideoCodec codec) {
59 switch (codec) {
60 RETURN_STRING(kUnknownVideoCodec);
61 RETURN_STRING(kCodecH264);
62 RETURN_STRING(kCodecVC1);
63 RETURN_STRING(kCodecMPEG2);
64 RETURN_STRING(kCodecMPEG4);
65 RETURN_STRING(kCodecTheora);
66 RETURN_STRING(kCodecVP8);
67 RETURN_STRING(kCodecVP9);
68 }
69 NOTREACHED();
70 return nullptr; // crash early
71 }
72
73 #undef RETURN_STRING
74
75 } // namespace (anonymous)
76
29 } // namespace media 77 } // namespace media
78
79 std::ostream& operator<<(std::ostream& os, const media::AccessUnit& au) {
80 os << "status:" << au.status << (au.is_end_of_stream ? " EOS" : "")
81 << (au.is_key_frame ? " KEY_FRAME" : "") << " pts:" << au.timestamp
82 << " size:" << au.data.size();
83 return os;
84 }
85
86 std::ostream& operator<<(std::ostream& os, const media::DemuxerConfigs& conf) {
87 os << "duration:" << conf.duration;
88
89 if (conf.audio_codec == media::kUnknownAudioCodec &&
90 conf.video_codec == media::kUnknownVideoCodec) {
91 os << " no audio, no video";
92 return os;
93 }
94
95 if (conf.audio_codec != media::kUnknownAudioCodec) {
96 os << " audio:" << media::AsString(conf.audio_codec)
97 << " channels:" << conf.audio_channels
98 << " rate:" << conf.audio_sampling_rate
99 << (conf.is_audio_encrypted ? " encrypted" : "");
100 }
101
102 if (conf.video_codec != media::kUnknownVideoCodec) {
103 os << " video:" << media::AsString(conf.video_codec) << " "
104 << conf.video_size.width() << "x" << conf.video_size.height()
105 << (conf.is_video_encrypted ? " encrypted" : "");
106 }
107
108 return os;
109 }
OLDNEW
« no previous file with comments | « media/base/android/demuxer_stream_player_params.h ('k') | media/base/android/media_codec_audio_decoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698