Pourriez-vous me dire la meilleure façon d'implémenter un tampon circulaire avec un temps constant entre l'entrée et la sortie dans c sur linux. J'écris dans le tampon dans le fil et le lis sur un autre. J'ai besoin de sauver la différence de temps constante entre lire et écrire, et le flux d'écriture a un débit variable. Maintenant, j'ajoute des timpramps à chaque paquet pour les synchroniser, et je reçois des timestamps d'un autre thread qui utilise clock_gettime toutes les 1ms.c tampon circulaire avec retard constant pour mpeg-ts
Répondre
L'approche globale est correcte comme vous l'avez suggéré. Cependant, il y a beaucoup de choses doivent être pris en charge -
Le fil source soumettant à CBUF et fils s'enfoncer retirer de CBUF. Le CBuf doit être suffisamment grand pour que les données ne soient pas perdues. Le CBuf doit être verrouillé par les deux threads pour garantir l'absence de corruption.
Les données CBuf doivent être horodatées. Ces horodatages doivent être suffisamment précis pour ne pas provoquer de gigue de transmission.
Le filetage de l'évier doit être retardé pour s'assurer qu'il ne s'écoule pas. Les fils de source et d'évier ne doivent dériver le temps que d'une source de temps commune de sorte qu'il n'y ait pas de dérive entre leur débit respectif d'entrée et de sortie.
probablement si vous envisagez de le transmettre à un système matériel à l'extérieur, la précision d'horodatage de 1 ms, est assez faible parce que le besoin de 500 ns conformité MPEG de transmission. Cependant, si vous utilisez un adaptateur matériel à transmettre, il s'en occupe généralement.
merci beaucoup pour l'explication, c'était juste ce que je cherchais – ostryck
- 1. tableau circulaire en c pour une ligne à retard
- 2. Tampon circulaire dans VB.NET
- 3. Sélection dynamique d'un tampon constant
- 4. Comment coder un tampon circulaire simple en C/C++?
- 5. réseau circulaire Modification toString tampon
- 6. Tampon circulaire Qt et Boost
- 7. Irrégularités de pointeur de tampon circulaire
- 8. Comment créer un tampon constant avec dimension valable
- 9. comment fonctionne mpegts
- 10. O (1) tampon circulaire en haskell?
- 11. Comment implémenter un tampon circulaire en Python?
- 12. tampon circulaire de longueur fixe dans haskell
- 13. un tampon circulaire fichier texte en python
- 14. Suggestions pour la gestion d'index concise dans le tampon circulaire
- 15. Configuration du tampon constant à l'aide de SlimDX
- 16. Arbre C++ avec un temps constant pour chaque noeud
- 17. Surcharge de la fonction C++ avec "constant"
- 18. Problème dans la lecture du fichier MpegTs avec VLC
- 19. Comment implémenter un tampon circulaire en utilisant un fichier?
- 20. comparaison tampon avec chaîne C
- 21. Affichage des données dans un tampon circulaire en temps réel
- 22. Protocole tampon pour Objective-C
- 23. décalage circulaire en c
- 24. dépendance circulaire (?) En C++
- 25. C/C++: Tableau constant des tableaux constants
- 26. Alternative pour basculer avec non-constant
- 27. PCR based Recherche de fichier MpegTS
- 28. Cette implémentation de tampon circulaire nécessite-t-elle un sémaphore?
- 29. préprocesseur c, [constant ou variable]
- 30. décalage circulaire c
On ne sait pas ce que vous demandez ici. –
Je demande quelle est la meilleure façon d'implémenter un tampon circulaire avec un temps constant entre l'écriture et la lecture dans c sous linux – ostryck
@ostryck Je vous recommande de lire http://stackoverflow.com/questions/how-to-ask et ensuite revenez et éditez votre question. – JustinDoesWork