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

Unified Diff: media/filters/ffmpeg_demuxer.cc

Issue 23072043: Change NeedKeyCB to use std::vector. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 4 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 side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698