mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-02 18:08:58 +00:00
Backed out changeset a52b2b37e42a (bug 1081409) for Linux build bustage.
CLOSED TREE
This commit is contained in:
parent
baf4b2c65c
commit
05f025c6bb
@ -1202,24 +1202,15 @@ void MediaPipelineTransmit::PipelineListener::ProcessVideoChunk(
|
||||
uint32_t width = yuv->GetSize().width;
|
||||
uint32_t height = yuv->GetSize().height;
|
||||
uint32_t length = yuv->GetDataSize();
|
||||
// NOTE: length may be rounded up or include 'other' data (see
|
||||
// YCbCrImageDataDeserializerBase::ComputeMinBufferSize())
|
||||
|
||||
// SendVideoFrame only supports contiguous YCrCb 4:2:0 buffers
|
||||
// Verify it's contiguous and in the right order
|
||||
if (cb != (y + YSIZE(width, height)) ||
|
||||
cr != (cb + CRSIZE(width, height))) {
|
||||
MOZ_ASSERT(false, "Incorrect cb/cr pointers in ProcessVideoChunk()!");
|
||||
return;
|
||||
}
|
||||
if (length < I420SIZE(width, height)) {
|
||||
MOZ_ASSERT(false, "Invalid length for ProcessVideoChunk()");
|
||||
return;
|
||||
}
|
||||
// XXX Consider modifying these checks if we ever implement
|
||||
MOZ_ASSERT(cb == (y + YSIZE(width, height)) &&
|
||||
cr == (cb + CRSIZE(width, height)) &&
|
||||
length == I420SIZE(width, height));
|
||||
// XXX Consider making this a non-debug-only check if we ever implement
|
||||
// any subclasses of PlanarYCbCrImage that allow disjoint buffers such
|
||||
// that y+3(width*height)/2 might go outside the allocation or there are
|
||||
// pads between y, cr and cb.
|
||||
// that y+3(width*height)/2 might go outside the allocation.
|
||||
// GrallocImage can have wider strides, and so in some cases
|
||||
// would encode as garbage. If we need to encode it we'll either want to
|
||||
// modify SendVideoFrame or copy/move the data in the buffer.
|
||||
@ -1227,7 +1218,7 @@ void MediaPipelineTransmit::PipelineListener::ProcessVideoChunk(
|
||||
// OK, pass it on to the conduit
|
||||
MOZ_MTLOG(ML_DEBUG, "Sending a video frame");
|
||||
// Not much for us to do with an error
|
||||
conduit->SendVideoFrame(y, I420SIZE(width, height), width, height, mozilla::kVideoI420, 0);
|
||||
conduit->SendVideoFrame(y, length, width, height, mozilla::kVideoI420, 0);
|
||||
} else if(format == ImageFormat::CAIRO_SURFACE) {
|
||||
layers::CairoImage* rgb =
|
||||
const_cast<layers::CairoImage *>(
|
||||
|
Loading…
Reference in New Issue
Block a user