From 940c3571aa13d27a2445b4b5bda1b0ac7e906428 Mon Sep 17 00:00:00 2001 From: KongQun Yang Date: Tue, 19 Jan 2016 18:10:08 -0800 Subject: [PATCH] WebMParser: set duration and dts correctly - dts was not set earlier, although for WebM, we could assume that dts is the same as pts. - Calculate block duration with the difference with the next block if duration is not encoded, even if track default_duration is set. - Use track default_duration as a duration estimate for the last block. - This also removes opus duration computation from encoded data. Issues #67, #68 Change-Id: Icaa2769dcb2a89269ae014f44ad6a9262770aed2 --- .../testdata/bear-320x240-vp9-cenc-golden.mp4 | Bin 71233 -> 71866 bytes .../testdata/bear-320x240-vp9-cenc-golden.mpd | 8 +- .../testdata/bear-320x240-vp9-golden.webm | Bin 69472 -> 69503 bytes .../testdata/bear-320x240-vp9-webm-golden.mpd | 8 +- .../testdata/bear-640x360-vp8-cenc-golden.mp4 | Bin 116627 -> 117020 bytes .../testdata/bear-640x360-vp8-cenc-golden.mpd | 6 +- .../testdata/bear-640x360-vp8-golden.webm | Bin 114664 -> 114695 bytes .../testdata/bear-640x360-vp8-webm-golden.mpd | 6 +- .../media/formats/webm/opus_packet_builder.cc | 91 -------- .../media/formats/webm/opus_packet_builder.h | 45 ---- packager/media/formats/webm/webm.gyp | 2 - .../media/formats/webm/webm_cluster_parser.cc | 205 ++--------------- .../media/formats/webm/webm_cluster_parser.h | 54 ++--- .../webm/webm_cluster_parser_unittest.cc | 216 ++++-------------- 14 files changed, 89 insertions(+), 552 deletions(-) delete mode 100644 packager/media/formats/webm/opus_packet_builder.cc delete mode 100644 packager/media/formats/webm/opus_packet_builder.h diff --git a/packager/app/test/testdata/bear-320x240-vp9-cenc-golden.mp4 b/packager/app/test/testdata/bear-320x240-vp9-cenc-golden.mp4 index 0d8f9a29b5218f52aee8c5a6aef3a473f7bd8a6f..d7b8add6ea2c38179b4aefaec7f70d9aeafd5092 100644 GIT binary patch delta 50489 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 delta 49834 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
    OvS~#m7R*FTCLqa&UOWD!aX>+ZI()CzoJd4$I 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 output_video.mp4 - + diff --git a/packager/app/test/testdata/bear-320x240-vp9-golden.webm b/packager/app/test/testdata/bear-320x240-vp9-golden.webm index 9e34a62ab25fadea93d9a63d523bf419d42dc313..d387a02576864087c1823bf8f722da576108b9ee 100644 GIT binary patch delta 344 zcmXZYPbh=dhs9~B#SY3ECr-npmc|MVD?J-q$atD4e^%OI zMJYZqSyP;F<*2a>(aOJ;T<}}@US7RF$L~W}`VC7f4T42!tP(A0D1Eics9KpXA{|pU zgJexXC#0;J3e)kpz_RBwK6#~rh`CH=48`5$Dq@w;_ZsqunL>m8-^A>&4a`c!{CFIy zCSp+(I+DDvkao86eu3U~A(EiR$5@D4kAQoc+X=~&!ySQo#wd}Xpu<gdqSRiVFcFimi^}w<5Lqt<>Y_E$%TM&2NcqfpFSa>JV9-R?y@!?SfUaHjACl(1u$yzfN1Jrq)I+ z8Ko;D+JvH8K5*8mVhK&2I)#`HjzL=mF-tr+QYPkt-@CwwP2h9XOvGZSA1m-a!?&-C zcOH(wjY#YR6pV``8IYKo;o4C%D{%*4oO3XeLKvFY^G?DaDROi0tlIf6U_EM+N&3a@ z*0?~j2_4%`Msg2AJ3mCS7ooj`Nb(}|`>(u@ARYGczC-`}^@@U`I&0=RL@ diff --git a/packager/app/test/testdata/bear-320x240-vp9-webm-golden.mpd b/packager/app/test/testdata/bear-320x240-vp9-webm-golden.mpd index b9116d2a8a..8ee2342618 100644 --- a/packager/app/test/testdata/bear-320x240-vp9-webm-golden.mpd +++ b/packager/app/test/testdata/bear-320x240-vp9-webm-golden.mpd @@ -1,11 +1,11 @@ - + - - + + output_video.webm - + diff --git a/packager/app/test/testdata/bear-640x360-vp8-cenc-golden.mp4 b/packager/app/test/testdata/bear-640x360-vp8-cenc-golden.mp4 index e28348623b155ef3bd9c76b6bf4d52768de7ed24..3423a75b26a67eff776b0b00dc0828718a4ea8f4 100644 GIT binary patch delta 57612 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
    0yx%{9b75o?yUSWlGk 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 Dvo>70 delta 57214 zcmZsiWmFtZw5|sT65QS0-QC^Y-Ge(p2KV6Z5G+7&cXtR9+?@mn?sn!&xObf&XV!vx z-d($^s&^N|>Y0AC6QPshpyLI>Wt9_z&q2SFSivO!Yd(V+f|~jjFl=xjx2ui07vSFu z41gpm{LcS1-~ccZ7XW72Nc`Vm!6N{*AmSf`d)YfWT7tsJ_LkP>f4czyFwh~!ZZ0PO z#j)M~i-QATK@5t62oP`tYLVS6&D}ul`wIxp?B?R`001EVm&5?d3jhF;JOA}sfaU^I z_ zKX^p|fB>+uf8xOj)Uo}SA^n9x2T=XvH);@*{bi^CWDqm_W#|uEAolpjp(6kQ*4W=g z!@#D4#tHo!hlvgV@y1{N2yYF_|F?*b3EUt?{Vxs#z@id^lAix2!6w0gxc@K1VJ(4@ ze`Ik{xwL#4IkL!g&-1L`Gx&NyQ-#>1- z2XVt+MiT&41zhAGch!K{>Mx@UrGr@QA9D`;SC-Mg0z*O>#N+>Xh#SQBe;HE_R22x_ ze>@Ia7~y069puw~(vLF?Abh`L!=PFX()JZJs_mcE<92MX3`07~V}dxjkW!%{rKq>! zJ)>QszPf1ABov@2MzS`)E;aGARQ#rvAORZ(xXH+ z*qo;_+>Z|hdGzC@8rS|_r(Svbatl}(pUc9$g~w$iIdjKRNx}~{(O&XU1dMFLMn}eQ z6z7W}5RTXtwW`i!6E$^*a&|jOIyAi=g{+vhVxwTs zf#tCE4fYHne;bw+{VZf+K0$f#okI7kcftz}dCc$Jmg=8Hj6W(h1Xjj$vRt3e+UqA4 zneLsY1j%YYwX4EakM^)(3{J_o^Sp#+zdgHnni!A}?5+wmZ38L+yjpdSmMPRqs#&V0M?vt*n3J_)6>@(fbw<<89GCDd8vA{|-qq){S)xj9GTI|9PMiwNY5;TSdw1R9_44^;mEw_^Otud#3pon|8Z z!6@^uUkU1fJCeybw$8zP``N1tq*AsH&1rA&&X~KSc0YB0X`_Y|k02GEHX1QwP3-6N zr>#MVw?|mzq|9VE zm4y9{G5i%nqfz_QdqY7xN2#D)2j^8$qIcH~%`M#-xLcx^69I|Gs)acysXAj_;JZC< ztrr$oz7((B#cCy7cu;^-GRZ8MPDNs;%t3EgiSSibqd)PjfE57{RgA^1af^&T4?4(!~DtK>?`Xclk#NbZxy{dy>N4$-zZT+AsT8vvpBD+ki3+e z>G)*|OD7zrP`u_(&lT|S!Tf5|(xGS9Z%|dm2Zo_PaG!@us^Q8p9L!8Cr^RxTeJB@9 z_K|tWl0Q{ovMVZbO&`&~mOR_y_HCoLgqj+JgB7L~A0=C}I+5_C+wdQ0FP-|Gks&^u zs(7@LUZ+Xzd*vJw=TLBBMs)@J$O*RWga4g@L(hGei(;3g56#y7{;~8vRe1xel5ah7 z7HBXlJhE%SKSuP^dnNrO?UfRh=ClI-QnsU`NvZc>v)@Yaggd+bq-ufb7#Tc^%Ai>k z7T!8m2y-Ir$)pFPPSD(a-j~jF>AZrO9g9D_B-9McnY@$r72iH;dso=nUZEXdDio;# z8Vpf!)f{kjVrBCXd|`j~NTxL2F?%IQ3=~8}Mk?Kynu_5Iu6z=g@TdCT3HE%>!sRZt z|2r8Y+IH=d+-1%&R7FE1ih9kfhv_(_Z4A&&TW)wf9b?f3-CBlGEmxJt7ySdHW70q^ z#!qT&Xng)2d+%6vY>Is4^K45a3tXIGi_g`Mdyl6laJ}J^<-QD>Z8Lz9sZVZJEO6ax z*26!Em&&;n`@Q!5o;yFXfNF)v_z2zaxqIkrF#Ryf`LeY>LSEgvT) z5{+re4$HpSbN|_ImIkzlaF`N`q#s}nZ6tJMR=6V%`A_bR!M*=?obrA=3D8t*GN#!MBHGV;%H6q zz?HVId=g)}ZdKt9SbhTJ9Rs!JqtN*8Fa~N4jB)r+fG<|kqsiGm#MWAjh2Iv>Q()R= z85VsX4y{?9N{@q`=J#c*NxlHrHVGJg!3%`12i?6Te^WIIe!K2wMKYz)k{1dnX7n-5 zAN+m2&`lIJVbRFfDtQYQU7aU!<}NgzXfLu}sl#AD-QQ$7iK-F4rQ!R}fWm#uNjjvL zeRTbP%;I12QGU>%sJa1s>f5z&nqX>?2=&VGO3c-*40}6Lae!9b+Ks6@lFPv`2_Zn{ z1yduz5ez5#3y#3DI^E8X5y#x)EE^SLnR~SWwdHe1|67H8X#%8iVnac$`Rh}flxpVz zFa$%cqr>ZXChE6Z%aavgx>i7t|6RY0_a@#i)8WY{WqbILnm4D%7;@)sJUm-6OZ?v2 zw0gaPd1I3&{5IZ>NiuA2%4})E-G}TmONJ~R=?}^GQcr28i(2HLFu4~ygT^NW%+UDMhD&9d_6^LDKt=9;cH z@8rFQ6;in9s~BxEQRvvH#HdwOo`M3TnTN)NqLhmBs(&vC@5!Pj=c+t#zm{#M*o^C% z16N#SYFCU%l2p;l>JO%Hd_C6LM4IkMV2P%1#d7S1^#dQNF(#5v6PHf3or)s1Ae&fx z@gSo%h&fJhIpLIn;gE>UZHYee)R_z5d$cdoy{LWtÌS}toQ%@OgfyTzoP?zC;g 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

    4a;&98T& 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 output_video.mp4 - + diff --git a/packager/app/test/testdata/bear-640x360-vp8-golden.webm b/packager/app/test/testdata/bear-640x360-vp8-golden.webm index 330354f7024e9425d65e1adcd63dc865eadd6f16..0de835fd4a7623d58511476024c0a8a60ad9af85 100644 GIT binary patch delta 595 zcmYk(OK1~O7zN-tcVePOB_K^jv66NZNQ*^5Q9-Q{1;wHjTjK*U#)TlQg1QL4lA5$3 z*k+KDU@V9M>q1;)jE4{-x)6g<6$a?_Do zk55K-hyHQiG){Ys3r-{9Qa;Vdj_X==+U&w~)xFOD>@qa#3lG<#Ha*uLi)dPYHttrM z#~l4rfYSVh9caiJ;wA;3Qd*2>Y}hE6V#bb=pu!_duv0L{v=c?8;AGzl>=AVGt_$Y{ zyk7gjO7463m!6k0!!tn!rUoT)qf40?5RZ^^SObS(h$dkc-1N$u`i6X65P+?ReTqO zc>e|xf*5^K91=|N`Ym_`6+Vh1Aef_`Kwa`W`6G!df=&*OAuZ^o!$4Fp#N-_e3R3(z zfs7!}iOjzyrKKz;Wv9UhlQ`$L8e0AoPhd4vF2E(}1AI@Jt%hcbXcuI;P{J}nnTuZF nHM$;`l4fKz;|megBlXg4Q~p0ktSMT1TN*PZEJv+z7{S0_Nn^e- delta 565 zcmWmBUr19?90&0GJ$FvpA_i+t3fHDD3$2VEq=cvy2F0idbfyrkdS1KjL$q%8RkorY%6c#YUwWzsOC9twFzTUNzk6QJ=WsaZ2jB1YtM!XDXJ!K? z&Gr`k-4Dw=95zq7&6G#24Vt-89l?#(I?T*F3*94zUa>rj$p+!~Vz4$46 zlwAs~N;w93#(_{C@ z3^CG(Pl6m*uEt+Mnce{U^oBJ%UYvtwuY3IqiMro~o;gF)cs7J@ex-$Ya5H>LX%U|4 z#I)cjw`|3NV1zB(@kcPu&`#6@@7cV|{#&asv>Rbv!NomMvAr)kV4M%K zc9Qxuy*cCs6+X-3m|Yc{p5uvh)XJF&cqIQQzY;P*%9@)(vtX33fB@2;@sQ YEn^jvzYJ83YAJ0=(7a)vt|7GkKX^;98vp - + - + output_video.webm - + diff --git a/packager/media/formats/webm/opus_packet_builder.cc b/packager/media/formats/webm/opus_packet_builder.cc deleted file mode 100644 index e555c8be14..0000000000 --- a/packager/media/formats/webm/opus_packet_builder.cc +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "packager/base/logging.h" -#include "packager/media/formats/webm/opus_packet_builder.h" -#include "packager/media/formats/webm/webm_cluster_parser.h" - -namespace edash_packager { -namespace media { - -OpusPacket::OpusPacket(uint8_t config, uint8_t frame_count, bool is_VBR) { - DCHECK_GE(config, 0); - DCHECK_LT(config, kNumPossibleOpusConfigs); - DCHECK_GE(frame_count, kMinOpusPacketFrameCount); - DCHECK_LE(frame_count, kMaxOpusPacketFrameCount); - - duration_ms_ = frame_count * - WebMClusterParser::kOpusFrameDurationsMu[config] / - static_cast(1000); - - uint8_t frame_count_code; - uint8_t frame_count_byte; - - if (frame_count == 1) { - frame_count_code = 0; - } else if (frame_count == 2) { - frame_count_code = is_VBR ? 2 : 1; - } else { - frame_count_code = 3; - frame_count_byte = (is_VBR ? 1 << 7 : 0) | frame_count; - } - - // All opus packets must have TOC byte. - uint8_t opus_toc_byte = (config << 3) | frame_count_code; - data_.push_back(opus_toc_byte); - - // For code 3 packets, the number of frames is signaled in the "frame - // count byte". - if (frame_count_code == 3) { - data_.push_back(frame_count_byte); - } - - // Packet will only conform to layout specification for the TOC byte - // and optional frame count bytes appended above. This last byte - // is purely dummy padding where frame size data or encoded data might - // otherwise start. - data_.push_back(static_cast(0)); -} - -OpusPacket::~OpusPacket() { -} - -const uint8_t* OpusPacket::data() const { - return &(data_[0]); -} - -int OpusPacket::size() const { - return data_.size(); -} - -double OpusPacket::duration_ms() const { - return duration_ms_; -} - -ScopedVector BuildAllOpusPackets() { - ScopedVector opus_packets; - - for (int frame_count = kMinOpusPacketFrameCount; - frame_count <= kMaxOpusPacketFrameCount; frame_count++) { - for (int opus_config_num = 0; opus_config_num < kNumPossibleOpusConfigs; - opus_config_num++) { - bool is_VBR = false; - opus_packets.push_back( - new OpusPacket(opus_config_num, frame_count, is_VBR)); - - if (frame_count >= 2) { - // Add another packet with VBR flag toggled. For frame counts >= 2, - // VBR triggers changes to packet framing. - is_VBR = true; - opus_packets.push_back( - new OpusPacket(opus_config_num, frame_count, is_VBR)); - } - } - } - - return opus_packets.Pass(); -} - -} // namespace media -} // namespace edash_packager diff --git a/packager/media/formats/webm/opus_packet_builder.h b/packager/media/formats/webm/opus_packet_builder.h deleted file mode 100644 index 78dcda59c1..0000000000 --- a/packager/media/formats/webm/opus_packet_builder.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_ -#define MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_ - -#include - -#include "packager/base/memory/scoped_ptr.h" -#include "packager/base/memory/scoped_vector.h" - -namespace edash_packager { -namespace media { - -// From Opus RFC. See https://tools.ietf.org/html/rfc6716#page-14 -enum OpusConstants { - kNumPossibleOpusConfigs = 32, - kMinOpusPacketFrameCount = 1, - kMaxOpusPacketFrameCount = 48 -}; - -class OpusPacket { - public: - OpusPacket(uint8_t config, uint8_t frame_count, bool is_VBR); - ~OpusPacket(); - - const uint8_t* data() const; - int size() const; - double duration_ms() const; - - private: - std::vector data_; - double duration_ms_; - - DISALLOW_COPY_AND_ASSIGN(OpusPacket); -}; - -// Builds an exhaustive collection of Opus packet configurations. -ScopedVector BuildAllOpusPackets(); - -} // namespace media -} // namespace edash_packager - -#endif // MEDIA_FORMATS_WEBM_OPUS_PACKET_BUILDER_H_ diff --git a/packager/media/formats/webm/webm.gyp b/packager/media/formats/webm/webm.gyp index a01626bc43..0508b31fbc 100644 --- a/packager/media/formats/webm/webm.gyp +++ b/packager/media/formats/webm/webm.gyp @@ -69,8 +69,6 @@ 'cluster_builder.h', 'encrypted_segmenter_unittest.cc', 'multi_segment_segmenter_unittest.cc', - 'opus_packet_builder.cc', - 'opus_packet_builder.h', 'segmenter_test_base.cc', 'segmenter_test_base.h', 'single_segment_segmenter_unittest.cc', diff --git a/packager/media/formats/webm/webm_cluster_parser.cc b/packager/media/formats/webm/webm_cluster_parser.cc index f5cfc1be9a..bcfb77a1ac 100644 --- a/packager/media/formats/webm/webm_cluster_parser.cc +++ b/packager/media/formats/webm/webm_cluster_parser.cc @@ -17,36 +17,12 @@ #include "packager/media/formats/webm/webm_crypto_helpers.h" #include "packager/media/formats/webm/webm_webvtt_parser.h" -// Logs only while |count| < |max|, increments |count| for each log, and warns -// in the log if |count| has just reached |max|. -#define LIMITED_LOG(level, count, max) \ - LOG_IF(level, (count) < (max)) \ - << (((count) + 1 == (max)) \ - ? "(Log limit reached. Further similar entries " \ - "may be suppressed): " \ - : "") -#define LIMITED_DLOG(level, count, max) \ - DLOG_IF(level, (count) < (max)) \ - << (((count) + 1 == (max)) \ - ? "(Log limit reached. Further similar entries " \ - "may be suppressed): " \ - : "") - namespace edash_packager { namespace media { namespace { const int64_t kMicrosecondsPerMillisecond = 1000; -enum { - // Limits the number of LOG() calls in the path of reading encoded - // duration to avoid spamming for corrupted data. - kMaxDurationErrorLogs = 10, - // Limits the number of LOG() calls warning the user that buffer - // durations have been estimated. - kMaxDurationEstimateLogs = 10, -}; - // Helper function used to inspect block data to determine if the // block is a keyframe. // |data| contains the bytes in the block. @@ -73,11 +49,6 @@ bool IsKeyframe(bool is_video, } // namespace -const uint16_t WebMClusterParser::kOpusFrameDurationsMu[] = { - 10000, 20000, 40000, 60000, 10000, 20000, 40000, 60000, 10000, 20000, 40000, - 60000, 10000, 20000, 10000, 20000, 2500, 5000, 10000, 20000, 2500, 5000, - 10000, 20000, 2500, 5000, 10000, 20000, 2500, 5000, 10000, 20000}; - WebMClusterParser::WebMClusterParser( int64_t timecode_scale, scoped_refptr audio_stream_info, @@ -169,100 +140,6 @@ int WebMClusterParser::Parse(const uint8_t* buf, int size) { return result; } -int64_t WebMClusterParser::TryGetEncodedAudioDuration( - const uint8_t* data, - int size) { - - // Duration is currently read assuming the *entire* stream is unencrypted. - // The special "Signal Byte" prepended to Blocks in encrypted streams is - // assumed to not be present. - // TODO: Consider parsing "Signal Byte" for encrypted streams to return - // duration for any unencrypted blocks. - - DCHECK(audio_stream_info_); - if (audio_stream_info_->codec() == kCodecOpus) { - return ReadOpusDuration(data, size); - } - - // TODO: Implement duration reading for Vorbis. See motivations in - // http://crbug.com/396634. - - return kNoTimestamp; -} - -int64_t WebMClusterParser::ReadOpusDuration(const uint8_t* data, int size) { - // Masks and constants for Opus packets. See - // https://tools.ietf.org/html/rfc6716#page-14 - static const uint8_t kTocConfigMask = 0xf8; - static const uint8_t kTocFrameCountCodeMask = 0x03; - static const uint8_t kFrameCountMask = 0x3f; - static const int64_t kPacketDurationMaxMs = 120000; - - if (size < 1) { - LIMITED_DLOG(INFO, num_duration_errors_, kMaxDurationErrorLogs) - << "Invalid zero-byte Opus packet; demuxed block duration may be " - "imprecise."; - return kNoTimestamp; - } - - // Frame count type described by last 2 bits of Opus TOC byte. - int frame_count_type = data[0] & kTocFrameCountCodeMask; - - int frame_count = 0; - switch (frame_count_type) { - case 0: - frame_count = 1; - break; - case 1: - case 2: - frame_count = 2; - break; - case 3: - // Type 3 indicates an arbitrary frame count described in the next byte. - if (size < 2) { - LIMITED_DLOG(INFO, num_duration_errors_, kMaxDurationErrorLogs) - << "Second byte missing from 'Code 3' Opus packet; demuxed block " - "duration may be imprecise."; - return kNoTimestamp; - } - - frame_count = data[1] & kFrameCountMask; - - if (frame_count == 0) { - LIMITED_DLOG(INFO, num_duration_errors_, kMaxDurationErrorLogs) - << "Illegal 'Code 3' Opus packet with frame count zero; demuxed " - "block duration may be imprecise."; - return kNoTimestamp; - } - - break; - default: - LIMITED_DLOG(INFO, num_duration_errors_, kMaxDurationErrorLogs) - << "Unexpected Opus frame count type: " << frame_count_type << "; " - << "demuxed block duration may be imprecise."; - return kNoTimestamp; - } - - int opusConfig = (data[0] & kTocConfigMask) >> 3; - CHECK_GE(opusConfig, 0); - CHECK_LT(opusConfig, static_cast(arraysize(kOpusFrameDurationsMu))); - - DCHECK_GT(frame_count, 0); - int64_t duration = kOpusFrameDurationsMu[opusConfig] * frame_count; - - if (duration > kPacketDurationMaxMs * 1000) { - // Intentionally allowing packet to pass through for now. Decoder should - // either handle or fail gracefully. LOG as breadcrumbs in case - // things go sideways. - LIMITED_DLOG(INFO, num_duration_errors_, kMaxDurationErrorLogs) - << "Warning, demuxed Opus packet with encoded duration: " - << duration / 1000 << "ms. Should be no greater than " - << kPacketDurationMaxMs << "ms."; - } - - return duration; -} - WebMParserClient* WebMClusterParser::OnListStart(int id) { if (id == kWebMIdCluster) { cluster_timecode_ = -1; @@ -451,13 +328,9 @@ bool WebMClusterParser::OnBlock(bool is_simple_block, Track* track = NULL; StreamType stream_type = kStreamAudio; std::string encryption_key_id; - int64_t encoded_duration = kNoTimestamp; if (track_num == audio_.track_num()) { track = &audio_; encryption_key_id = audio_encryption_key_id_; - if (encryption_key_id.empty()) { - encoded_duration = TryGetEncodedAudioDuration(data, size); - } } else if (track_num == video_.track_num()) { track = &video_; encryption_key_id = video_encryption_key_id_; @@ -529,49 +402,13 @@ bool WebMClusterParser::OnBlock(bool is_simple_block, &side_data[0], side_data.size(), true); } + buffer->set_dts(timestamp); buffer->set_pts(timestamp); if (cluster_start_time_ == kNoTimestamp) cluster_start_time_ = timestamp; - - int64_t block_duration_time_delta = kNoTimestamp; - if (block_duration >= 0) { - block_duration_time_delta = block_duration * timecode_multiplier_; - } - - // Prefer encoded duration over BlockGroup->BlockDuration or - // TrackEntry->DefaultDuration when available. This layering violation is a - // workaround for http://crbug.com/396634, decreasing the likelihood of - // fall-back to rough estimation techniques for Blocks that lack a - // BlockDuration at the end of a cluster. Duration estimation may still apply - // in cases of encryption and codecs for which we do not extract encoded - // duration. Estimates are applied as Block Timecode deltas, or once the whole - // stream is parsed in the case of the last Block in the stream. See - // Track::EmitBuffer and ApplyDurationEstimateIfNeeded(). - if (encoded_duration != kNoTimestamp) { - DCHECK(encoded_duration != kInfiniteDuration); - DCHECK(encoded_duration > 0); - buffer->set_duration(encoded_duration); - - DVLOG(3) << __FUNCTION__ << " : " - << "Using encoded duration " << encoded_duration; - - if (block_duration_time_delta != kNoTimestamp) { - int64_t duration_difference = - block_duration_time_delta - encoded_duration; - - const auto kWarnDurationDiff = timecode_multiplier_ * 2; - if (duration_difference > kWarnDurationDiff) { - LIMITED_DLOG(INFO, num_duration_errors_, kMaxDurationErrorLogs) - << "BlockDuration (" << block_duration_time_delta / 1000 - << "ms) differs significantly from encoded duration (" - << encoded_duration / 1000 << "ms)."; - } - } - } else if (block_duration_time_delta != kNoTimestamp) { - buffer->set_duration(block_duration_time_delta); - } else { - buffer->set_duration(track->default_duration()); - } + buffer->set_duration(block_duration > 0 + ? (block_duration * timecode_multiplier_) + : kNoTimestamp); if (!init_cb_.is_null() && !initialized_) { std::vector> streams; @@ -679,16 +516,14 @@ void WebMClusterParser::Track::ApplyDurationEstimateIfNeeded() { int64_t estimated_duration = GetDurationEstimate(); last_added_buffer_missing_duration_->set_duration(estimated_duration); - LIMITED_LOG(INFO, num_duration_estimates_, kMaxDurationEstimateLogs) - << "Estimating WebM block duration to be " << estimated_duration / 1000 - << "ms for the last (Simple)Block in the Cluster for this Track. Use " - "BlockGroups with BlockDurations at the end of each Track in a " - "Cluster to avoid estimation."; + VLOG(1) << "Track " << track_num_ << ": Estimating WebM block duration to be " + << estimated_duration / 1000 + << "ms for the last (Simple)Block in the Cluster for this Track. Use " + "BlockGroups with BlockDurations at the end of each Track in a " + "Cluster to avoid estimation."; - DVLOG(2) << __FUNCTION__ << " new dur : ts " - << last_added_buffer_missing_duration_->pts() - << " dur " - << last_added_buffer_missing_duration_->duration() + DVLOG(2) << " new dur : ts " << last_added_buffer_missing_duration_->pts() + << " dur " << last_added_buffer_missing_duration_->duration() << " kf " << last_added_buffer_missing_duration_->is_key_frame() << " size " << last_added_buffer_missing_duration_->data_size(); @@ -702,7 +537,6 @@ void WebMClusterParser::Track::Reset() { last_added_buffer_missing_duration_ = NULL; } - bool WebMClusterParser::Track::EmitBufferHelp( const scoped_refptr& buffer) { DCHECK(!last_added_buffer_missing_duration_.get()); @@ -739,20 +573,25 @@ bool WebMClusterParser::Track::EmitBufferHelp( } int64_t WebMClusterParser::Track::GetDurationEstimate() { - int64_t duration = estimated_next_frame_duration_; - if (duration != kNoTimestamp) { - DVLOG(3) << __FUNCTION__ << " : using estimated duration"; + int64_t duration = kNoTimestamp; + if (default_duration_ != kNoTimestamp) { + duration = default_duration_; + DVLOG(3) << __FUNCTION__ << " : using track default duration " << duration; + } else if (estimated_next_frame_duration_ != kNoTimestamp) { + duration = estimated_next_frame_duration_; + DVLOG(3) << __FUNCTION__ << " : using estimated duration " << duration; } else { - DVLOG(3) << __FUNCTION__ << " : using hardcoded default duration"; if (is_video_) { duration = kDefaultVideoBufferDurationInMs * kMicrosecondsPerMillisecond; } else { duration = kDefaultAudioBufferDurationInMs * kMicrosecondsPerMillisecond; } + DVLOG(3) << __FUNCTION__ << " : using hardcoded default duration " + << duration; } - DCHECK(duration > 0); - DCHECK(duration != kNoTimestamp); + DCHECK_GT(duration, 0); + DCHECK_NE(duration, kNoTimestamp); return duration; } diff --git a/packager/media/formats/webm/webm_cluster_parser.h b/packager/media/formats/webm/webm_cluster_parser.h index 3bcb0aa63c..ee27bb928a 100644 --- a/packager/media/formats/webm/webm_cluster_parser.h +++ b/packager/media/formats/webm/webm_cluster_parser.h @@ -32,12 +32,6 @@ class WebMClusterParser : public WebMParserClient { kDefaultVideoBufferDurationInMs = 63 }; - /// Opus packets encode the duration and other parameters in the 5 most - /// significant bits of the first byte. The index in this array corresponds - /// to the duration of each frame of the packet in microseconds. See - /// https://tools.ietf.org/html/rfc6716#page-14 - static const uint16_t kOpusFrameDurationsMu[]; - private: // Helper class that manages per-track state. class Track { @@ -56,19 +50,16 @@ class WebMClusterParser : public WebMParserClient { // duration, saves |buffer| into |last_added_buffer_missing_duration_|. bool EmitBuffer(const scoped_refptr& buffer); - // If |last_added_buffer_missing_duration_| is set, updates its duration to - // be non-kNoTimestamp value of |estimated_next_frame_duration_| or a - // hard-coded default, then emits it and unsets - // |last_added_buffer_missing_duration_|. (This method helps stream parser - // emit all buffers in a media segment before signaling end of segment.) + // If |last_added_buffer_missing_duration_| is set, estimate the duration + // for this buffer using helper function GetDurationEstimate() then emits it + // and unsets |last_added_buffer_missing_duration_| (This method helps + // stream parser emit all buffers in a media segment). void ApplyDurationEstimateIfNeeded(); // Clears all buffer state, including any possibly held-aside buffer that // was missing duration. void Reset(); - int64_t default_duration() const { return default_duration_; } - private: // Helper that sanity-checks |buffer| duration, updates // |estimated_next_frame_duration_|, and emits |buffer|. @@ -76,28 +67,24 @@ class WebMClusterParser : public WebMParserClient { // emitted. Returns true otherwise. bool EmitBufferHelp(const scoped_refptr& buffer); - // Helper that calculates the buffer duration to use in + // Helper function that calculates the buffer duration to use in // ApplyDurationEstimateIfNeeded(). int64_t GetDurationEstimate(); - // Counts the number of estimated durations used in this track. Used to - // prevent log spam for LOG()s about estimated duration. - int num_duration_estimates_ = 0; - int track_num_; bool is_video_; - // Parsed track buffers, each with duration and in (decode) timestamp order, - // that have not yet been emitted. Note that up to one additional buffer - // missing duration may be tracked by |last_added_buffer_missing_duration_|. + // Holding the sample that is missing duration. The duration will be + // computed from the difference in timestamp when next sample arrives; or + // estimated if it is the last sample in this track. scoped_refptr last_added_buffer_missing_duration_; // If kNoTimestamp, then |estimated_next_frame_duration_| will be used. int64_t default_duration_; - // If kNoTimestamp, then a default value will be used. This estimate is the - // maximum duration seen so far for this track, and is used only if - // |default_duration_| is kNoTimestamp. + // If kNoTimestamp, then a hardcoded default value will be used. This + // estimate is the maximum duration seen so far for this track, and is used + // only if |default_duration_| is kNoTimestamp. int64_t estimated_next_frame_duration_; MediaParser::NewSampleCB new_sample_cb_; @@ -169,22 +156,9 @@ class WebMClusterParser : public WebMParserClient { // if that track num is not a text track. Track* FindTextTrack(int track_num); - // Attempts to read the duration from the encoded audio data, returning as - // kNoTimestamp if duration cannot be retrieved. - // Avoid calling if encrypted; may produce unexpected output. See - // implementation for supported codecs. - int64_t TryGetEncodedAudioDuration(const uint8_t* data, int size); + // Multiplier used to convert timecodes into microseconds. + double timecode_multiplier_; - // Reads Opus packet header to determine packet duration. Duration returned - // as kNoTimestamp upon failure to read duration from packet. - int64_t ReadOpusDuration(const uint8_t* data, int size); - - // Tracks the number of LOGs made in process of reading encoded duration. - // Useful to prevent log spam. - int num_duration_errors_ = 0; - - double timecode_multiplier_; // Multiplier used to convert timecodes into - // microseconds. scoped_refptr audio_stream_info_; scoped_refptr video_stream_info_; std::set ignored_tracks_; @@ -221,7 +195,7 @@ class WebMClusterParser : public WebMParserClient { Track video_; TextTrackMap text_track_map_; - DISALLOW_IMPLICIT_CONSTRUCTORS(WebMClusterParser); + DISALLOW_COPY_AND_ASSIGN(WebMClusterParser); }; } // namespace media diff --git a/packager/media/formats/webm/webm_cluster_parser_unittest.cc b/packager/media/formats/webm/webm_cluster_parser_unittest.cc index caaa9ca30e..a167e8d7cf 100644 --- a/packager/media/formats/webm/webm_cluster_parser_unittest.cc +++ b/packager/media/formats/webm/webm_cluster_parser_unittest.cc @@ -18,7 +18,6 @@ #include "packager/media/base/decrypt_config.h" #include "packager/media/base/timestamp.h" #include "packager/media/formats/webm/cluster_builder.h" -#include "packager/media/formats/webm/opus_packet_builder.h" #include "packager/media/formats/webm/webm_constants.h" using ::testing::HasSubstr; @@ -475,15 +474,16 @@ TEST_F(WebMClusterParserTest, TracksWithSampleMissingDuration) { const int kExpectedVideoEstimationInMs = 33; const BlockInfo kBlockInfo[] = { - {kVideoTrackNum, 0, 33, true, NULL, 0}, + // Note that for simple blocks, duration is not encoded. + {kVideoTrackNum, 0, 0, true, NULL, 0}, {kAudioTrackNum, 0, 23, false, NULL, 0}, {kTextTrackNum, 10, 42, false, NULL, 0}, - {kAudioTrackNum, 23, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, - {kVideoTrackNum, 33, 33, true, NULL, 0}, - {kAudioTrackNum, 36, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, - {kVideoTrackNum, 66, kExpectedVideoEstimationInMs, true, NULL, 0}, - {kAudioTrackNum, 70, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, - {kAudioTrackNum, 83, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, + {kAudioTrackNum, 23, 0, true, NULL, 0}, + {kVideoTrackNum, 33, 0, true, NULL, 0}, + {kAudioTrackNum, 36, 0, true, NULL, 0}, + {kVideoTrackNum, 66, 0, true, NULL, 0}, + {kAudioTrackNum, 70, 0, true, NULL, 0}, + {kAudioTrackNum, 83, 0, true, NULL, 0}, }; // Samples are not emitted in the same order as |kBlockInfo| due to missing of @@ -491,24 +491,24 @@ TEST_F(WebMClusterParserTest, TracksWithSampleMissingDuration) { const BlockInfo kExpectedBlockInfo[] = { {kAudioTrackNum, 0, 23, false, NULL, 0}, {kTextTrackNum, 10, 42, false, NULL, 0}, - {kAudioTrackNum, 23, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, {kVideoTrackNum, 0, 33, true, NULL, 0}, - {kAudioTrackNum, 36, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, + {kAudioTrackNum, 23, 13, true, NULL, 0}, {kVideoTrackNum, 33, 33, true, NULL, 0}, - {kAudioTrackNum, 70, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, + {kAudioTrackNum, 36, 34, true, NULL, 0}, + {kAudioTrackNum, 70, 13, true, NULL, 0}, {kAudioTrackNum, 83, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, {kVideoTrackNum, 66, kExpectedVideoEstimationInMs, true, NULL, 0}, }; const int kExpectedBuffersOnPartialCluster[] = { - 0, // Video simple block without DefaultDuration should be held back - 1, // Audio buffer ready + 0, // Video simple block without duration should be held back + 1, // 1st audio buffer ready 2, // Text buffer ready - 3, // 2nd audio buffer ready - 4, // 1st video emitted, 2nd video held back with no duration - 5, // 3rd audio ready - 6, // 2nd video emitted, 3rd video held back with no duration - 7, // 4th audio ready - 8, // 5th audio ready + 2, // Audio simple block without duration should be held back + 3, // 1st video emitted, 2nd video held back with no duration + 4, // 2rd audio ready, 3rd audio held back with no duration + 5, // 2nd video emitted, 3rd video held back with no duration + 6, // 3th audio ready, 4th audio held back with no duration + 7, // 4th audio ready, 5th audio held back with no duration }; ASSERT_EQ(arraysize(kBlockInfo), arraysize(kExpectedBuffersOnPartialCluster)); @@ -531,9 +531,11 @@ TEST_F(WebMClusterParserTest, TracksWithSampleMissingDuration) { VerifyBuffers(kExpectedBlockInfo, kExpectedBuffersOnPartialCluster[i])); } - // The last (3rd) video is emitted on flush with duration estimated. + // The last audio (5th) and the last video (3rd) are emitted on flush with + // duration estimated - estimated to be default duration if it is specified, + // otherwise estimated from earlier frames. parser_->Flush(); - EXPECT_TRUE(VerifyBuffers(&kExpectedBlockInfo[block_count - 1], 1)); + EXPECT_TRUE(VerifyBuffers(&kExpectedBlockInfo[block_count - 2], 2)); } TEST_F(WebMClusterParserTest, Reset) { @@ -875,11 +877,12 @@ TEST_F(WebMClusterParserTest, ParseWithDefaultDurationsSimpleBlocks) { EXPECT_LT(kTestVideoFrameDefaultDurationInMs, 33); const BlockInfo kBlockInfo[] = { - {kAudioTrackNum, 0, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, - {kAudioTrackNum, 23, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, - {kVideoTrackNum, 33, kTestVideoFrameDefaultDurationInMs, true, NULL, 0}, - {kAudioTrackNum, 46, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, - {kVideoTrackNum, 67, kTestVideoFrameDefaultDurationInMs, true, NULL, 0}, + // Note that for simple blocks, duration is not encoded. + {kAudioTrackNum, 0, 23, true, NULL, 0}, + {kAudioTrackNum, 23, 23, true, NULL, 0}, + {kVideoTrackNum, 33, 34, true, NULL, 0}, + {kAudioTrackNum, 46, 23, true, NULL, 0}, + {kVideoTrackNum, 67, 33, true, NULL, 0}, {kAudioTrackNum, 69, kTestAudioFrameDefaultDurationInMs, true, NULL, 0}, {kVideoTrackNum, 100, kTestVideoFrameDefaultDurationInMs, true, NULL, 0}, }; @@ -887,21 +890,17 @@ TEST_F(WebMClusterParserTest, ParseWithDefaultDurationsSimpleBlocks) { int block_count = arraysize(kBlockInfo); scoped_ptr cluster(CreateCluster(0, kBlockInfo, block_count)); - // Send slightly less than the full cluster so all but the last block is - // parsed. Though all the blocks are simple blocks, none should be held aside - // for duration estimation prior to end of cluster detection because all the - // tracks have DefaultDurations. - int result = parser_->Parse(cluster->data(), cluster->size() - 1); - EXPECT_GT(result, 0); - EXPECT_LT(result, cluster->size()); - ASSERT_TRUE(VerifyBuffers(kBlockInfo, block_count - 1)); - - parser_->Reset(); - - // Now parse a whole cluster to verify that all the blocks will get parsed. - result = parser_->Parse(cluster->data(), cluster->size()); + // Now parse a whole cluster to verify that all the blocks will get parsed + // and the last audio and video are held back due to no duration. + // The durations for all blocks are calculated to be the timestamp difference + // with the next block. + int result = parser_->Parse(cluster->data(), cluster->size()); EXPECT_EQ(cluster->size(), result); - ASSERT_TRUE(VerifyBuffers(kBlockInfo, block_count)); + ASSERT_TRUE(VerifyBuffers(kBlockInfo, block_count - 2)); + // The last audio and video are emitted on flush wiht duration estimated - + // estimated to be default_duration since it is present. + parser_->Flush(); + ASSERT_TRUE(VerifyBuffers(&kBlockInfo[block_count - 2], 2)); } TEST_F(WebMClusterParserTest, ParseWithoutAnyDurationsSimpleBlocks) { @@ -1008,49 +1007,6 @@ TEST_F(WebMClusterParserTest, ParseWithoutAnyDurationsBlockGroups) { ASSERT_TRUE(VerifyBuffers(kBlockInfo2, block_count2)); } -// TODO: Is parser behavior correct? See http://crbug.com/363433. -TEST_F(WebMClusterParserTest, - ParseWithDefaultDurationsBlockGroupsWithoutDurations) { - InSequence s; - ResetParserToHaveDefaultDurations(); - - EXPECT_LT(kTestAudioFrameDefaultDurationInMs, 23); - EXPECT_LT(kTestVideoFrameDefaultDurationInMs, 33); - - const BlockInfo kBlockInfo[] = { - {kAudioTrackNum, 0, -kTestAudioFrameDefaultDurationInMs, false, NULL, 0}, - {kAudioTrackNum, 23, -kTestAudioFrameDefaultDurationInMs, false, NULL, 0}, - {kVideoTrackNum, 33, -kTestVideoFrameDefaultDurationInMs, false, NULL, 0}, - {kAudioTrackNum, 46, -kTestAudioFrameDefaultDurationInMs, false, NULL, 0}, - {kVideoTrackNum, 67, -kTestVideoFrameDefaultDurationInMs, false, NULL, 0}, - {kAudioTrackNum, 69, -kTestAudioFrameDefaultDurationInMs, false, NULL, 0}, - {kVideoTrackNum, - 100, - -kTestVideoFrameDefaultDurationInMs, - false, - NULL, - 0}, - }; - - int block_count = arraysize(kBlockInfo); - scoped_ptr cluster(CreateCluster(0, kBlockInfo, block_count)); - - // Send slightly less than the full cluster so all but the last block is - // parsed. None should be held aside for duration estimation prior to end of - // cluster detection because all the tracks have DefaultDurations. - int result = parser_->Parse(cluster->data(), cluster->size() - 1); - EXPECT_GT(result, 0); - EXPECT_LT(result, cluster->size()); - parser_->Flush(); - ASSERT_TRUE(VerifyBuffers(kBlockInfo, block_count - 1)); - - // Now parse a whole cluster to verify that all the blocks will get parsed. - result = parser_->Parse(cluster->data(), cluster->size()); - EXPECT_EQ(cluster->size(), result); - parser_->Flush(); - ASSERT_TRUE(VerifyBuffers(kBlockInfo, block_count)); -} - TEST_F(WebMClusterParserTest, ParseDegenerateClusterYieldsHardcodedEstimatedDurations) { const BlockInfo kBlockInfo[] = { @@ -1092,99 +1048,5 @@ TEST_F(WebMClusterParserTest, ASSERT_TRUE(VerifyBuffers(kBlockInfo, block_count)); } -TEST_F(WebMClusterParserTest, ReadOpusDurationsSimpleBlockAtEndOfCluster) { - int loop_count = 0; - for (const auto* packet_ptr : BuildAllOpusPackets()) { - InSequence s; - - // Get a new parser each iteration to prevent exceeding the log cap. - parser_.reset(CreateParserWithKeyIdsAndAudioCodec( - std::string(), std::string(), kCodecOpus)); - - const BlockInfo kBlockInfo[] = {{kAudioTrackNum, - 0, - packet_ptr->duration_ms(), - true, // Make it a SimpleBlock. - packet_ptr->data(), - packet_ptr->size()}}; - - int block_count = arraysize(kBlockInfo); - scoped_ptr cluster(CreateCluster(0, kBlockInfo, block_count)); - - int result = parser_->Parse(cluster->data(), cluster->size()); - EXPECT_EQ(cluster->size(), result); - ASSERT_TRUE(VerifyBuffers(kBlockInfo, block_count)); - - loop_count++; - } - - // Test should minimally cover all the combinations of config and frame count. - ASSERT_GE(loop_count, kNumPossibleOpusConfigs * kMaxOpusPacketFrameCount); -} - -TEST_F(WebMClusterParserTest, PreferOpusDurationsOverBlockDurations) { - int loop_count = 0; - for (const auto* packet_ptr : BuildAllOpusPackets()) { - InSequence s; - - // Get a new parser each iteration to prevent exceeding the log cap. - parser_.reset(CreateParserWithKeyIdsAndAudioCodec( - std::string(), std::string(), kCodecOpus)); - - // Setting BlockDuration != Opus duration to see which one the parser uses. - int block_duration_ms = packet_ptr->duration_ms() + 10; - BlockInfo block_infos[] = {{kAudioTrackNum, - 0, - static_cast(block_duration_ms), - false, // Not a SimpleBlock. - packet_ptr->data(), - packet_ptr->size()}}; - - int block_count = arraysize(block_infos); - scoped_ptr cluster(CreateCluster(0, block_infos, block_count)); - int result = parser_->Parse(cluster->data(), cluster->size()); - EXPECT_EQ(cluster->size(), result); - - // BlockInfo duration will be used to verify buffer duration, so changing - // duration to be that of the Opus packet to verify it was preferred. - block_infos[0].duration = packet_ptr->duration_ms(); - - ASSERT_TRUE(VerifyBuffers(block_infos, block_count)); - - loop_count++; - } - - // Test should minimally cover all the combinations of config and frame count. - ASSERT_GE(loop_count, kNumPossibleOpusConfigs * kMaxOpusPacketFrameCount); -} - -// Tests that BlockDuration is used to set duration on buffer rather than -// encoded duration in Opus packet (or hard coded duration estimates). Encoded -// Opus duration is usually preferred but cannot be known when encrypted. -TEST_F(WebMClusterParserTest, DontReadEncodedDurationWhenEncrypted) { - // Non-empty dummy value signals encryption is active for audio. - std::string audio_encryption_id("audio_key_id"); - - // Reset parser to expect Opus codec audio and use audio encryption key id. - parser_.reset(CreateParserWithKeyIdsAndAudioCodec(audio_encryption_id, - std::string(), kCodecOpus)); - - // Single Block with BlockDuration and encrypted data. - const BlockInfo kBlockInfo[] = {{kAudioTrackNum, - 0, - kTestAudioFrameDefaultDurationInMs, - false, // Not a SimpleBlock - kEncryptedFrame, // Encrypted frame data - arraysize(kEncryptedFrame)}}; - - int block_count = arraysize(kBlockInfo); - scoped_ptr cluster(CreateCluster(0, kBlockInfo, block_count)); - int result = parser_->Parse(cluster->data(), cluster->size()); - EXPECT_EQ(cluster->size(), result); - - // Will verify that duration of buffer matches that of BlockDuration. - ASSERT_TRUE(VerifyBuffers(kBlockInfo, block_count)); -} - } // namespace media } // namespace edash_packager