2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
=================================================================
Ανάλυση πηγαίου κώδικα που σχετίζεται με τη διαχείριση μνήμης FFmpeg:
Πηγαίος κώδικας FFmpeg: av_buffer_ref, av_buffer_unref ανάλυση συνάρτησης
=================================================================
Πολλές δομές στον πηγαίο κώδικα FFmpeg, όπως το AVPacket και το AVFrame, χρησιμοποιούν AVBufferRef και AVBuffer για τη διαχείριση των buffer. Το AVBuffer καταγράφει τον αριθμό των χρήσεων πόρων μέσω της επαναμέτρησης μεταβλητής μέλους και ελέγχει την αποδέσμευση πόρων. Αυτό το άρθρο παρέχει μια εισαγωγή στις δομές AVBuffer και AVBufferRef.
Το AVBuffer είναι μια διεπαφή προγραμματισμού εφαρμογών για buffer δεδομένων με μέτρηση αναφοράς, τα οποία αντιπροσωπεύουν την ίδια την προσωρινή μνήμη δεδομένων. Είναι αδιαφανές και δεν είναι δυνατή η άμεση πρόσβαση από χρήστες που χρησιμοποιούν το FFmpeg API. Οι χρήστες μπορούν να έχουν πρόσβαση σε αυτό μόνο έμμεσα μέσω του AVBufferRef. Αλλά μπορείτε να ελέγξετε εάν δύο διαφορετικές αναφορές περιγράφουν την ίδια προσωρινή μνήμη δεδομένων συγκρίνοντας δύο δείκτες AVBuffer.
Η δομή AVBuffer δηλώνεται στο αρχείο κεφαλίδας libavutil/buffer_internal.h του πηγαίου κώδικα FFmpeg (η έκδοση πηγαίου κώδικα FFmpeg που χρησιμοποιείται για επίδειξη σε αυτό το άρθρο είναι 5.0.3):
struct AVBuffer {
uint8_t *data; /**