{"push_id":814810954,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"39f01e346cab464ef6c0d4ec58cc13b7123e60d8","before":"eae58428bd199f7d4670bf471f56ed204430878e","commits":[{"sha":"65db4899fa8790049bec3af16ecdb75dd81051fd","author":{"email":"bc2f38c4376b2b6c534aea096d5ab527a666dc60@googlemail.com","name":"wm4"},"message":"mmaldec: refactor to have more context per MMAL input buffer\n\nThe next commit needs 1 bit of additional information per MMAL buffer\nsent to the MMAL input port. This information will be needed when the\nbuffer is recycled (i.e. returned by the input port's callback).\nNormally, we could use MMAL_BUFFER_HEADER_FLAG_USER0, but that is\nunexpectedly not preserved.\n\nDo this by storing a pointer to FFBufferEntry in the MMAL buffer's\nuser data, instead of an AVBufferRef. This also changes the lifetime\nof FFBufferEntry.\n\nSigned-off-by: Luca Barbato <lu_zero@gentoo.org>","distinct":true,"url":"https://api.github.com/repos/libav/libav/commits/65db4899fa8790049bec3af16ecdb75dd81051fd"},{"sha":"39f01e346cab464ef6c0d4ec58cc13b7123e60d8","author":{"email":"bc2f38c4376b2b6c534aea096d5ab527a666dc60@googlemail.com","name":"wm4"},"message":"mmaldec: be more tolerant against MMAL not returning decoded output\n\nIn some situations, MMAL won't return a decoded frame for certain input\nframes. This can happen if a frame fails to decode, or if a packet does\nnot actually contain a complete frame. In these situations, we would\ndeadlock (or actually timeout) waiting for an expected output frame,\nwhich is not ideal. On the other hand, there are situations where we\ndefinitely have to block to avoid deadlocks. (This mess is a\nconsequence of trying to map MMAL's asynchronous and flexible\ndataflow to libavcodec, which is more static and rigid.)\n\nSolve this by doing a blocking wait only if the amount of buffered data\nis too big. The whole purpose of the blocking wait is to avoid excessive\nbuffering of input data, so we can skip it if it appears to be low. The\nconsequence is that libavcodec can gracefully return no frame to the\nAPI user.\n\nWe want to track the number of full packets to make our heuristic work.\nBut MMAL buffers are fixed-size, requiring splitting large packets. This\nis why the previous commit is needed. We use the ..._FRAME_END flag to\nremember packet boundaries, but MMAL does not preserve these buffer\nflags when returning buffers to the user.\n\nSigned-off-by: Luca Barbato <lu_zero@gentoo.org>","distinct":true,"url":"https://api.github.com/repos/libav/libav/commits/39f01e346cab464ef6c0d4ec58cc13b7123e60d8"}]}