avcodec/mfenc: use AVCodecContext.get_encode_buffer()

Signed-off-by: James Almer <[email protected]>
diff --git a/libavcodec/mfenc.c b/libavcodec/mfenc.c
index 7fdc7af..d70e493 100644
--- a/libavcodec/mfenc.c
+++ b/libavcodec/mfenc.c
@@ -243,7 +243,7 @@
     if (FAILED(hr))
         return AVERROR_EXTERNAL;
 
-    if ((ret = av_new_packet(avpkt, len)) < 0)
+    if ((ret = ff_get_encode_buffer(avctx, avpkt, len, 0)) < 0)
         return ret;
 
     IMFSample_ConvertToContiguousBuffer(sample, &buffer);
@@ -1163,7 +1163,8 @@
         .close          = mf_close,                                            \
         .receive_packet = mf_receive_packet,                                   \
         EXTRA                                                                  \
-        .capabilities   = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID,            \
+        .capabilities   = AV_CODEC_CAP_DELAY | AV_CODEC_CAP_HYBRID |           \
+                          AV_CODEC_CAP_DR1,                                    \
         .caps_internal  = FF_CODEC_CAP_INIT_THREADSAFE |                       \
                           FF_CODEC_CAP_INIT_CLEANUP,                           \
     };