Autor Wątek: Strumieniowe odtwarzanie OGG - Jak uaktualniac?  (Przeczytany 6585 razy)

Offline tommyz

  • Użytkownik

# Styczeń 11, 2006, 21:23:24
Raczej nie udostepnia bezposrednio eventow, bo jeste przenosny a eventy sa wlasciwe dla windowsa. Musialbys wgrzebac wskaznik do DSounda.
Sleep tez wystarczy, czasami tylko moze cos zerwac okazjonalnie.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline tommyz

  • Użytkownik

# Styczeń 12, 2006, 22:33:20
To jest overkill moim zdaniem, gdyz watek odtwarzarki ma wystarczajaca ilosc czasu na zdekodowanie kolejnej partii 'materialu'.

Offline tommyz

  • Użytkownik

# Styczeń 13, 2006, 10:40:32
Ja nie mowie ze Twoj sposob sie nie sprawdza tylko mowie ze moim zdaniem to overkill dla tego przypadku :)

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Styczeń 13, 2006, 20:25:12
Cytuj
Jeśli wątek ma priorytet real-time, to raczej nie powinno być problemu z zaspaniem sleepa
Jeśli wątek ma priorytet real-time, to jest to najlepszy sposób na powieszenie systemu - po prostu sam Windows ma mniejszy priorytet i jak coś pójdzie nie tak, to Alt+Ctrl+Del nawet nie zadziała (chyba że masz HT, albo coś w tym stylu). Stanowczo odradzam używanie priorytetu real-time w jakiejkolwiek normalnej aplikacji.

Offline Sir

  • Użytkownik

# Styczeń 14, 2006, 14:06:31
W przypadku kiedy ustawiam priorytet tego watku na real-time wszystko dziala doskonale jednak jesli chcem zrobic cos w tle to wszystko dziala strasznie wolno. Dla przykladu: jak mam ustawiony priorytet na normalny i w tle wlacze quake'a (3) mam w nim okolo 120fps, jak ustawie priorytet watku na real-time ta liczba spada do 30. Biorac pod uwage to ze przy normalnym priorytecie muzyka sie nie zacina nie ma sensu ustawiac real-time :).

Offline jar

  • Użytkownik

# Październik 09, 2006, 19:40:44
Ja swój stream bufor dziele na 4 kawalki (kazdy o dlugosci kilkuset ms). Kozystam z position notify. Pod OpenAL mogl byś robić tak: co pewien czas (np 1/4 długości bufora) wywolywac f ktora pobierze pozycje w buforze dźwięku i skopiuje nowe dane od ostatniej pozycji do aktualnie pobranej (w skrócie, ale to nie jest takie proste)