| Index: media/filters/source_buffer_range.cc | 
| diff --git a/media/filters/source_buffer_range.cc b/media/filters/source_buffer_range.cc | 
| index a80d629fe8a620d18177e5ecd33aac34811894c9..d78a58422e75a1c6750c5a59a5f82d930f1545e1 100644 | 
| --- a/media/filters/source_buffer_range.cc | 
| +++ b/media/filters/source_buffer_range.cc | 
| @@ -316,6 +316,16 @@ int SourceBufferRange::GetRemovalGOP( | 
| return bytes_removed; | 
| } | 
|  | 
| +bool SourceBufferRange::FirstGOPEarlierThanMediaTime( | 
| +    DecodeTimestamp media_time) const { | 
| +  if (keyframe_map_.size() == 1u) | 
| +    return (GetEndTimestamp() < media_time); | 
| + | 
| +  KeyframeMap::const_iterator second_gop = keyframe_map_.begin(); | 
| +  ++second_gop; | 
| +  return second_gop->first <= media_time; | 
| +} | 
| + | 
| bool SourceBufferRange::FirstGOPContainsNextBufferPosition() const { | 
| if (!HasNextBufferPosition()) | 
| return false; | 
|  |