OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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 <deque> | 5 #include <deque> |
6 | 6 |
7 #include "base/singleton.h" | 7 #include "base/singleton.h" |
8 #include "base/tuple.h" | 8 #include "base/tuple.h" |
9 #include "media/base/filter_host.h" | 9 #include "media/base/filter_host.h" |
10 #include "media/base/filters.h" | 10 #include "media/base/filters.h" |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 EXPECT_EQ(&g_format, format); | 136 EXPECT_EQ(&g_format, format); |
137 return g_av_find_stream_info; | 137 return g_av_find_stream_info; |
138 } | 138 } |
139 | 139 |
140 int64 av_rescale_q(int64 a, AVRational bq, AVRational cq) { | 140 int64 av_rescale_q(int64 a, AVRational bq, AVRational cq) { |
141 int64 num = bq.num * cq.den; | 141 int64 num = bq.num * cq.den; |
142 int64 den = cq.num * bq.den; | 142 int64 den = cq.num * bq.den; |
143 return a * num / den; | 143 return a * num / den; |
144 } | 144 } |
145 | 145 |
| 146 void av_free_packet(AVPacket* packet) { |
| 147 if (packet->destruct) { |
| 148 packet->destruct(packet); |
| 149 packet->data = NULL; |
| 150 packet->size = 0; |
| 151 } |
| 152 } |
| 153 |
146 void DestructPacket(AVPacket* packet) { | 154 void DestructPacket(AVPacket* packet) { |
147 delete [] packet->data; | 155 delete [] packet->data; |
148 --g_outstanding_packets_av_new_frame; | 156 --g_outstanding_packets_av_new_frame; |
149 } | 157 } |
150 | 158 |
151 int av_new_packet(AVPacket* packet, int size) { | 159 int av_new_packet(AVPacket* packet, int size) { |
152 memset(packet, 0, sizeof(*packet)); | 160 memset(packet, 0, sizeof(*packet)); |
153 packet->data = new uint8[size]; | 161 packet->data = new uint8[size]; |
154 packet->size = size; | 162 packet->size = size; |
155 packet->destruct = &DestructPacket; | 163 packet->destruct = &DestructPacket; |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
669 EXPECT_TRUE(PacketQueue::get()->WaitForOutstandingPackets(0)); | 677 EXPECT_TRUE(PacketQueue::get()->WaitForOutstandingPackets(0)); |
670 EXPECT_EQ(1, g_outstanding_packets_av_new_frame); | 678 EXPECT_EQ(1, g_outstanding_packets_av_new_frame); |
671 | 679 |
672 // Now release our reference, which should destruct the packet allocated by | 680 // Now release our reference, which should destruct the packet allocated by |
673 // av_new_packet(). | 681 // av_new_packet(). |
674 reader = NULL; | 682 reader = NULL; |
675 EXPECT_EQ(0, g_outstanding_packets_av_new_frame); | 683 EXPECT_EQ(0, g_outstanding_packets_av_new_frame); |
676 } | 684 } |
677 | 685 |
678 } // namespace | 686 } // namespace |
OLD | NEW |