On 07/22/2016 10:14 PM, Nicolas George wrote:
Le quintidi 5 thermidor, an CCXXIV, sebechlebsky...@gmail.com a écrit :
From: Jan Sebechlebsky <sebechlebsky...@gmail.com>

Set BSF EOF flag only if pkt == NULL in av_bsf_send_packet().

Signed-off-by: Jan Sebechlebsky <sebechlebsky...@gmail.com>
---
  I agree, it seems cleaner that way.

  Thanks,
  please apply this version of patch then and ignore
  the patch changing the comment.

  Regards,
  Jan

  libavcodec/bsf.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/bsf.c b/libavcodec/bsf.c
index 88b7f29..9b9ada7 100644
--- a/libavcodec/bsf.c
+++ b/libavcodec/bsf.c
@@ -172,7 +172,7 @@ int av_bsf_init(AVBSFContext *ctx)
int av_bsf_send_packet(AVBSFContext *ctx, AVPacket *pkt)
  {
-    if (!pkt || !pkt->data) {
+    if (!pkt) {
It we make the case where pkt != NULL but no data nor side data forbidden, I
would suggest to detect it.

I know that others disagree, but I think an assert is the best solution for
that: if the caller pass a forbidden value, it can expect an undefined
behaviour, and an assert failure is the most sympathetic undefined
behaviours for developers.
I gave this a second thought, wouldn't it be better to simply ignore pkt without payload? So after caller would send empty packet using av_bsf_send_packet, he would get AVERROR(EAGAIN) from the next av_bsf_receive_packet call (from the definition in documentation AVERROR(EAGAIN) means "more data needed" when returned by av_bsf_receive_packet). However, if you think it is better to reserve packet without payload for some future use, I won't object.

Regards,
Jan
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to