Index: media/filters/ffmpeg_demuxer.cc |
diff --git a/media/filters/ffmpeg_demuxer.cc b/media/filters/ffmpeg_demuxer.cc |
index e95dcefe8a321fd72fc2e7390c099ae7c5af08f7..aa413ff4e489f16752b240e72a960f9daa397611 100644 |
--- a/media/filters/ffmpeg_demuxer.cc |
+++ b/media/filters/ffmpeg_demuxer.cc |
@@ -287,7 +287,7 @@ base::TimeDelta FFmpegDemuxerStream::ConvertStreamTimestamp( |
FFmpegDemuxer::FFmpegDemuxer( |
const scoped_refptr<base::MessageLoopProxy>& message_loop, |
DataSource* data_source, |
- const FFmpegNeedKeyCB& need_key_cb, |
+ const NeedKeyCB& need_key_cb, |
const scoped_refptr<MediaLog>& media_log) |
: host_(NULL), |
message_loop_(message_loop), |
@@ -812,10 +812,11 @@ void FFmpegDemuxer::StreamHasEnded() { |
void FFmpegDemuxer::FireNeedKey(const std::string& init_data_type, |
const std::string& encryption_key_id) { |
- int key_id_size = encryption_key_id.size(); |
- scoped_ptr<uint8[]> key_id_local(new uint8[key_id_size]); |
- memcpy(key_id_local.get(), encryption_key_id.data(), key_id_size); |
- need_key_cb_.Run(init_data_type, key_id_local.Pass(), key_id_size); |
+ size_t key_id_size = encryption_key_id.size(); |
+ std::vector<uint8> key_id_local(key_id_size); |
+ if (key_id_size) |
+ memcpy(&key_id_local[0], encryption_key_id.data(), key_id_size); |
xhwang
2013/08/23 17:24:37
How about:
std::vector<uint8> key_id_local(encryp
acolwell GONE FROM CHROMIUM
2013/08/23 19:55:28
Done. I didn't realize this would work. :)
|
+ need_key_cb_.Run(init_data_type, key_id_local); |
} |
void FFmpegDemuxer::NotifyCapacityAvailable() { |