IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

[vorbisfile] Désallocation de OggVorbis_File


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Par défaut [vorbisfile] Désallocation de OggVorbis_File
    Boujour,

    J'aimerais savoir savoir si ov_clear libère la memoire en plus de fermer le stream.

    Par exemple,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    OggVorbis_File* fichiervorbis = malloc(sizeof(OggVorbis_File));
    ov_open(fichier, fichiervorbis, NULL, 0);
    [...]
    ov_clear(fichiervorbis);
    est-il suffisant ou faut-il appeler free()?

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Par défaut
    Merci pour la réponse, mais je crois que l'on ne parle pas de la même bibliothéque, il s'agit ici de vorbisfile et non de OpenVault.

    En fait, en toute logique, ov_clear() ne devrais pas libérer la mémoire pour permettre de créer OggVorbis_File sur la pile. Le problème est que la documentation est ambigue (d'après moi) et suggère que la mémoire est libéré.

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Nadsat
    En fait, en toute logique, ov_clear() ne devrais pas libérer la mémoire pour permettre de créer OggVorbis_File sur la pile. Le problème est que la documentation est ambigue (d'après moi) et suggère que la mémoire est libéré.
    Non. Pour moi, c'est clair :

    http://www.xiph.org/vorbis/doc/vorbisfile/ov_open.html
    Citation Envoyé par vorbis
    Also, you should be aware that ov_open(), once successful, takes complete possession of the file resource. After you have opened a file using ov_open(), you MUST close it using ov_clear(), not fclose() or any other function.

    It is often useful to call ov_open() simply to determine whether a given file is a vorbis bitstream. If the ov_open() call fails, then the file is not recognizable as such. When you use ov_open() for this, you should fclose() the file pointer if, and only if, the ov_open() call fails. If it succeeds, you must call ov_clear() to clear the decoder's buffers and close the file for you.
    C'est bel et bien une fonction de fermeture a utiliser si l'ouverture a réussi.

    Je peux traduire si besoin est...

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Par défaut
    Merci beaucoup, c'est clair maintenant!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Désallocation de mémoire ...
    Par Mike888 dans le forum C
    Réponses: 9
    Dernier message: 18/01/2006, 10h42
  2. allocton et désallocation
    Par Jahjouh dans le forum C++
    Réponses: 3
    Dernier message: 30/11/2005, 00h18
  3. [PERL] problème désallocation de variable
    Par LE NEINDRE dans le forum Langage
    Réponses: 11
    Dernier message: 24/08/2005, 10h07
  4. Réponses: 2
    Dernier message: 15/11/2004, 15h12
  5. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo