Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Temas - Pogacha

#21
Off-topic / Que son esos smileys?
25 de Septiembre de 2008, 11:22:20 PM
Lo he visto muchas veces en distintos sitios, si mal no recuerdo todos eran tipo blogs ...

¿Alguien sabe que son?
#22
Off-topic / Comprando una Notebook
14 de Septiembre de 2008, 04:01:18 PM
Hola,
Si, necesito ampliar el tablero de pruebas y una tener a la vez una compu de emeregencia para trabajar en casos extraños.
Mi idea es comprarme un portatil para reducir tamaño y tener portabilidad a la vez que lo utilizaria mi esposa.
Ahora, los inconvenientes que tengo son:

1 - Que me conviene en cuanto a tablero de pruebas:
   a - Un portatil raro: (AMD con ATI 1200) que representa un 1-2% del mercado.
   b - Un portatil standard: (Intel con GMA 950) que representa un 30% del mercado.

El problema es que es mas probable que halla un equipo tipo b en el beta tester group, lo malo es que puede haber algun defecto no detectado por el beta tester group o la performance no sea la mejor para esta plataforma que representa una tajada mas grande. El equipo a tiene problemas de compatibilidad terrible por eso seria interesante, pero representa una tajada muy pequeña.

2 - Desde luego que solo compraria uno de marca, y mi presupuesto es de 1050 dolares aproximadamente. El problema es que busco recomendaciones de marcas en foros y sitios de review y solo veo:
DELL malisimo
ACER malisimo
Otras marcas malisimas

La unica que mas o menos no tiene tantas criticas son las Sony Vaio pero son mas caras.
¿Vale realmente la diferencia?

3 - Que caracteristicas deberia buscar en una maquina para desarrollo de juegos casuales.
Cualquiera sobra para jugarlos, pero para desarrollar se necesita mas ram y .. ?
Velocidad del disco?
De la placa madre?
Del procesador?
Tipo de procesador?
De ram pienso en 2 gb, que supongo serán suficientes.

Y desde luego necesito tenerla y usarla con Windows Vista por lo que no se cuanto mas necesitaria. Compilar en VC9 y todo eso.

Muchas gracias!

#23
Off-topic / Estoy muy pero muy ocupado.
31 de Julio de 2008, 11:01:20 PM
Tanto como para no poder concentrarme en lo que hago y buscar este video el cual me resulto interesante.

http://www.youtube.com/v/slRsexrhbG8&hl=en&fs=1
#24
General / Radeon X1200/50 y Vista
29 de Julio de 2008, 10:39:15 PM
Alguien tiene una radeon X1200 / X1250 instalado sobre Vista?

Tengo un extraño bug sobre esa plataforma y necesito arreglarlo.
Please help!
#25
Off-topic / Nasa secret
13 de Mayo de 2008, 11:32:16 PM
Ya que hay tanto freaky suelto por aca ... alguien tiene una idea de que pueda ser?

http://www.nasa.gov/home/hqnews/2008/may/HQ_M08089_Chandra_Advisory.html
#26
Off-topic / 65 million and 1 bc
06 de Mayo de 2008, 03:16:52 AM
http://65millionand1bc.com/

Si estan al dope hechenle un ojo a este juego.
Me hizo cagar de riza un rato.

Saludos.
#27
General Programadores / Ctrl-alt-del en XP pro
03 de Mayo de 2008, 05:42:44 PM
¿Como puedo determinar si el usuario apreto CTRL-ALT-DEL en XP pro?

El problema es que cuando se presiona esto y el dialogo de seguridad de windows XP aparece el device se pierde, y puede ser en cualquier punto de ejecucion del programa.

Con IsIconic() o GetActiveWindow() puedo tener cierta información pero quisiera poder distinguir exactamente la pantalla de seguridad de en verdad una perdida de foco o minimización.

Cualquier aporte se agradecera enormemente.

Saludos
#28
General / Tener un servidor propio
30 de Abril de 2008, 04:42:06 AM
Quise postear esto y parece que el se lo comio el foro por que no aparece.
OK, va de nuevo, sino ignorenlo

Estoy hasta las bolas con dreamhost, demasiados problemas y no me permiten trabajar como quiero.
Por eso estoy pensando en pasarme a un VPS

El tema esta en que no tengo ni idea de cuanto trabajo esto llevaría.

¿Es muy complicado instalar: Debian, Apache, MySQL, PHP, FTP, Mail, SubVersion, blablabla ?

Como para que quede como un servidor de los compartidos pero con las features que yo quiero.

Jamas en mi vida toqué linux y no tengo ni idea de como se maneja el tema de redes a ese nivel (a duras penas podia configurar un compartido)

¿Supuestamente tendría que tener un downtime mucho menor o no?
No voy a estar toqueteando las configuraciones a cada rato, ni updatando hardware ni nada de esas cosas. Tampoco tendría que tener problemas si otro usuario se manda una macana y esas cosas.

¿Es necesario tambien hacer un seguimiento y control constante del servidor? ¿Updatarlo a menudo para evitar problemas de seguridad?

Cualquier aporte para desburrarme será muy agradecido :)
#29
Hola Gentes,
Yo no dispongo de windows vista en este momento y parece que puede haber un problema con el mismo.

Alguien podria ponerse en una cuenta que no sea administrador y bajar he instalar el juego y probar si no se rompe despues de pasar el primer nivel?

Le agradeceré un montón tal favor.

http://www.aiportmania.com

Desde ya muchas gracias!
#30
General / Airport Mania
03 de Abril de 2008, 11:57:51 PM
Hola gentes!

Bueno, como Nae anunció aquí:
http://www.stratos-ad.com/forums3/viewtopic.php?p=115018&sid=e5785dc6a19a8ac0192930972488c022
Algo pasaba, y ya estoy a la altura de develar el misterio.

El juego se llama Airport Mania - First Flight, fue diseñado por Russell Carroll, sonidos por Ion Hardie, música de Isaac Shepard, graficos por Gustavo Andrés Calcaño (el mismo que hizo los graficos de Dylo's Adventure), el port a Mac por Julio Gorgé (no se si lo conocen) y a que no saben quien lo programó?  :D

El juego pertenece a Reflexive-Inc.

Tiene pagina oficial:
www.airportmania.com

Y hasta tiene un video review en casual gamer chick:
http://casualgamerchick.com/2008/04/01/airport-mania-video-review/

Sale a la venta para Windows en unos 14 dias como mucho y el port a Mac breve tiempo después.

Se espera lo mejor de este juego y en realidad yo ya estoy tan afectado del mismo que no tengo ni idea de como le va a ir. Pero la mayoría de los comentarios han sido muy buenos.

El mejor de todos ha sido este:
http://www.mediavida.com/vertema.php?fid=86&tid=319162
Presten especial atención al numero 15, no se como se entero de lo que en realidad paso :lol: :lol: :lol: :lol: ... ojalá hubiese sido así =..(

No, en realidad, excepto por esos, la mayoría de los comentarios han sido mas que prometedores ( y estoy tratando de minimizarlos para no exagerar :) )

Pido disculpas por no haberles contado antes ... les puedo asegurar que yo tenia mas ganas de decirlo que ustedes de escucharlo.
#31
Off-topic / Dreamhost se ha vuelto malo?
24 de Marzo de 2008, 08:47:21 PM
Cuantos de ustedes usan dreamhost?

Cuantos han tenido problemas serios?

Cuanto tiempo llevan con el?

Yo, 3 meses, mas de 20 veces problemas menores (menos de una hora) que yo halla notado y un par de medios dias completamente fuera.
Cosa que no me gusta ni miercoles!
#32
Off-topic / Doble fordwarding
22 de Marzo de 2008, 04:24:09 AM
Que tal, alguien sabe de redes?
Tengo el siguiente problema.
Tenia un modem/router adsl y luego de comprar la nueva compu me compre tambien un router para poder compartir la red e internet.

El tema es que no se como configurar el fordwarding de puertos para atravezar dos routers.

Hice un fordwarding de los puertos desde el ADSL con la direccion que le asigno al router y desde el router un fordwarding a la de la computadora en cuestion.
Pero no funciono ...

Trate de poner el modem ADSL en modo bridge y casi no estoy posteando aca ...

Como tendria que hacer?

Saludos

Edit:
Encontre este documento, que me dice que lo que estaba haciendo estaba
bien:
http://portforward.com/help/doublerouterportforwarding.htm

Bueno, despues de un rato de pelearme parece que era tan solo que no se ponian de acuerdo los routers. Ahora parece andar bien.

Saludos y gracias.
#33
General Programadores / Context Switch Lock
21 de Marzo de 2008, 06:49:30 PM
Hay alguna forma de evitar un context switch en win32?

O sea, quiero que cuando se ejecute una porcion de codigo se evite a toda costa hacer un context switch, pues requiere estar sincronizado como sea.

Saludos y gracias.
#34
General Programadores / Vista DirectX 10 y DirectX 7
07 de Marzo de 2008, 09:53:50 PM
Otra cosa que a fuerza me desayuno es que directx 7 (o una parte que utilizo de el) no esta disponible en la instalación por defecto de windows vista  :roll: .

Según tenia entendido DirectX 10 guardaba compatibilidad hacia atras hasta el immediate mode de D3D ... o sea, DirectX 7 deberia funcionar sin mas!

La verdad es que esto me desmoraliza un poco, no encontré información referente a esto en internet excepto por un par de post en algunos foros donde aseguraban que para hacer andar algunos juegos viejos debias instalar DirectX 9.0c y que este no interferia con DirectX 10.

¿Alguien tiene mas datos o links sobre el tema?

Muchas gracias de antemano.
#35
General Programadores / Eventos del raton demorados
07 de Marzo de 2008, 01:59:29 PM
Supongo todos habran visto este problema alguna ves.
En algunos juegos en algunas computadoras, tu mueves el raton y un segundo despues este reacciona.
A que se debe esto?
Como se puede hacer para que esto no pase?

Supongo que algo tendrá que ver la saturacion del CPU ... pero no estoy seguro ...

Si alguien sabe algo se agradece!

Saludos
#36
General Programadores / Visual Express 2005
01 de Marzo de 2008, 08:02:36 PM
Como me puedo asegurar de que estoy generando codigo nativo?
He importado un proyecto de VC6 y no estoy seguro de que eso este pasando.

Alguien me puede dar un tip sobre el asunto?

Gracias!
#37
General Programadores / VC Express 2005 y STLPort
01 de Marzo de 2008, 06:58:43 PM
Hola
Estoy tratando de compilar una aplicación que usa slist y hashmaps y otras extensiones de la stl que no encontre en el VC Express 2005
Por eso le intento hacerlo andar con el stlport (el ultimo disponible)
Pero me da un raro error de linkeage ...
LINK : fatal error LNK1104: cannot open file 'stlportd_static.5.1.lib'

Por mas que le desremarke la linea en el stlport\stl\config\user_config.h/*
* Use this switch for embedded systems where no iostreams are available
* at all. STLport own iostreams will also get disabled automatically then.
* You can either use STLport iostreams, or no iostreams.
* If you want iostreams, you have to compile library in ../build/lib
* and supply resulting library at link time.
*/

#define _STLP_NO_IOSTREAMS 1


La verdad es que no se donde esta el problema, ya busque en internet pero nada.
A alguno de ustedes le ha pasado lo mismo? Como lo solucionaron?
#38
Programación de audio / DSound Mixer toma 2
09 de Febrero de 2008, 05:51:08 PM
Ya sin mas ideas, pego aquí el código por si algún alma piadosa puede encontrar que cosa peligrosa estoy haciendo mal.

Aclaración y explicaciones:
- El código anda perfectamente en mi computadora, pero en algunas computadoras y en circunstancias a las cuales no le encuentro un patrón, la reproducción pierde el "sync" y se siente ruido a buffer no llenado a tiempo / estática.

- Este corre sobre otro thread, con la librería standard the C en versión multithreading.

- El objeto se inicializa y destruye en el thread principal y si la inicialización no tubo ningún problema se hace correr el thread sobre la función Run() la cual tiene el loop de mezcla.

- Se cambia la prioridad al máximo sobre este thread.

- Se cambia la granularidad con timeBeginPeriod para mejorar la respuesta de WaitForMultiplesObjects.

- Usa un buffer secundario de DSound con DSBCAPS_LOCSOFTWARE y DSBCAPS_GETCURRENTPOSITION2 el cual parto en dos para usarlo como doble buffer.

- Hay un tercer buffer en un formato Fixed Point 8-24 para hacer solo una vez el clamping/saturación. La función Mix llena este buffer mezclando los sonidos en ejecución, durante el Mix hay lectura de archivos por streaming ( generalmente nunca mas de 2 )

- El cambio de modo ventana a fullscreen no es tenido en cuenta por esto, pues le handle de window no se destruye, solo se cambian sus propiedades. Esto es independiente de la falla.

- El loop de mezcla básicamente es:
1 - Esperar que se llegue a una posicion del buffer (a la mitad o al final).
2 - Lockear el buffer
3 - Volcar los datos del buffer de mezclas (el tercer buffer) en el buffer secundario en la posición adecuada.
4 - Unlockear el buffer
5 - Mezclar sobre el buffer de mezclas (el tercer buffer) los sonidos en ejecución.
6 - volver a 1

Todo lo que no entiendan supongan que esta bién.

Aquí el código:
#include "DSoundDevice.h"

#include "ScreenWindows.h"

#pragma comment (lib,"dsound.lib")

using namespace PGL;

DSoundDevice::DSoundDevice(Audio* audio)
: Audio::Device(audio)
, lpDS(0), lpdsb(0), lpdsbPrimary(0), lpdsNotify(0)
, mMixingBuffer(0), mMixingSize(0), mInternalSize(0)
, mPlaying(false), mInitialized(false)
, mIsThereAnException(false), mException("No Exception")
{

}

DSoundDevice::~DSoundDevice()
{
assert( mInitialized == false );
}

void DSoundDevice::Update()
{
if(mIsThereAnException) throw mException;
}


void DSoundDevice::Init()
{
ScreenWindows* screen = static_cast<ScreenWindows*>(pAudio->Get_Screen());

mInternalFormat.Set_SampleFormat( Audio::Format::SIGNED_16_STEREO );
mInternalFormat.Set_Rate( 44100 );

mMixingFormat.Set_SampleFormat( Audio::Format::SIGNED_FIXED_8_24_STEREO );
// mMixingFormat.Set_SampleFormat( Audio::Format::SIGNED_16_STEREO );
mMixingFormat.Set_Rate( 44100 );

DSBUFFERDESC                dsbdesc;

// DSound Init
if(DirectSoundCreate(0,&lpDS,0)!=DS_OK)
{
lpDS=0;
THROW_EXCEPTION( "Init() -> DirectSoundCreate" );
}

if(lpDS->SetCooperativeLevel(screen->Get_hWnd(),DSSCL_PRIORITY)!=DS_OK)
{
Destroy();
THROW_EXCEPTION( "Init() -> SetCooperativeLevel" );
}

   memset(&dsbdesc, 0, sizeof(DSBUFFERDESC));
   dsbdesc.dwSize = sizeof(DSBUFFERDESC);
   dsbdesc.dwFlags = DSBCAPS_PRIMARYBUFFER;
   dsbdesc.dwBufferBytes = 0;
   dsbdesc.lpwfxFormat   = NULL;

   if(FAILED(lpDS->CreateSoundBuffer(&dsbdesc, &lpdsbPrimary, NULL)))
{
Destroy();
THROW_EXCEPTION( "Init() -> primary sound buffer CreateSoundBuffer()" );
}

// Setup primary buffer

   WAVEFORMATEX wfx;
   memset(&wfx, 0, sizeof(WAVEFORMATEX));
   wfx.wFormatTag = WAVE_FORMAT_PCM;

   wfx.nChannels = mInternalFormat.Get_Channels();
   wfx.wBitsPerSample = mInternalFormat.Get_Bits();
   wfx.nSamplesPerSec = mInternalFormat.Get_Rate();
   wfx.nBlockAlign = mInternalFormat.Get_BlockAlign();
   wfx.nAvgBytesPerSec = mInternalFormat.Get_AverageBytesPerSecond();

   if(FAILED (lpdsbPrimary->SetFormat(&wfx)))
{
Destroy();
THROW_EXCEPTION( "Init() -> primary sound buffer SetFormat()" );
}

   // get a buffer size which needs to be updated 40 times per second.
   // and round it to a power of 2 (4096 bytes with 44100hz 16bits stereo)

mInternalSize = 1<<ilog2( wfx.nAvgBytesPerSec / BUFFER_UPDATES_PER_SECOND );

// Setup secondary buffer

   memset(&dsbdesc, 0, sizeof(DSBUFFERDESC));
   dsbdesc.dwSize = sizeof(DSBUFFERDESC);
   dsbdesc.dwFlags = DSBCAPS_GETCURRENTPOSITION2 | DSBCAPS_CTRLPOSITIONNOTIFY | DSBCAPS_LOCSOFTWARE;
   dsbdesc.dwBufferBytes = mInternalSize * 2; // two buffers
dsbdesc.lpwfxFormat = &wfx;

memset(&wfx, 0, sizeof(WAVEFORMATEX));
   wfx.wFormatTag = WAVE_FORMAT_PCM;


// the same format

   wfx.nChannels = mInternalFormat.Get_Channels();
   wfx.wBitsPerSample = mInternalFormat.Get_Bits();
   wfx.nSamplesPerSec = mInternalFormat.Get_Rate();
   wfx.nBlockAlign = mInternalFormat.Get_BlockAlign();
   wfx.nAvgBytesPerSec = mInternalFormat.Get_AverageBytesPerSecond();

   if(FAILED(lpDS->CreateSoundBuffer(&dsbdesc, &lpdsb, NULL)))
   {
Destroy();
THROW_EXCEPTION( "Init() -> secondary sound buffer CreateSoundBuffer()" );
   }

// Setup notifications
for (int i = 0; i < NUMEVENTS; i++)
{
rghEvent[i] = CreateEvent(NULL, FALSE, FALSE, NULL);
if (NULL == rghEvent[i])
{
Destroy();
THROW_EXCEPTION( "Init() -> CreateEvent()" );
}
}

   rgdsbpn[0].dwOffset = 0;
   rgdsbpn[0].hEventNotify = rghEvent[0];
   rgdsbpn[1].dwOffset = (dsbdesc.dwBufferBytes/2);
   rgdsbpn[1].hEventNotify = rghEvent[1];

   if(FAILED(lpdsb->QueryInterface(IID_IDirectSoundNotify, (VOID **)&lpdsNotify)))
{
Destroy();
THROW_EXCEPTION( "Init() -> QueryInterface()" );
}

   if(FAILED(lpdsNotify->SetNotificationPositions(NUMEVENTS, rgdsbpn)))
   {
       IDirectSoundNotify_Release(lpdsNotify);
Destroy();
THROW_EXCEPTION( "Init() -> SetNotificationPositions()" );
}

   lpdsb->Play(0, 0, DSBPLAY_LOOPING);
mPlaying = true;


mMixingSize = (mInternalSize * mMixingFormat.Get_BlockAlign()) / mInternalFormat.Get_BlockAlign();
mMixingBuffer = new char[mMixingSize];

// fill the buffer for the first time
Mix(mMixingBuffer, mMixingSize, mMixingFormat);

mInitialized = true;

Start();
}


void DSoundDevice::Destroy()
{
Stop();

// DSound destroy
mInitialized = false;
 
if(lpdsNotify)
{
lpdsNotify->Release();
lpdsNotify = 0;
}

if(lpdsb)
{
lpdsb->Release();
lpdsb = 0;
}

if(lpdsbPrimary)
{
lpdsbPrimary->Release();
lpdsbPrimary = 0;
}

if(lpDS)
{
lpDS->Release();
lpDS = 0;
}

if(mMixingBuffer)
{
delete mMixingBuffer;
mMixingBuffer = 0;
}
}



void DSoundDevice::Run()
{
try {
if(!mInitialized) THROW_EXCEPTION( "DSound device not initialized" );

bool done = false;

// let's auto set the priority to max!
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_HIGHEST);

// Let's assure the granularity
TIMECAPS timecaps;
timeGetDevCaps(&timecaps, sizeof(timecaps) );
timeBeginPeriod( timecaps.wPeriodMax );

while(!Get_StopRequest() && !done)
{
DWORD dwEvt = MsgWaitForMultipleObjects(
NUMEVENTS,      // How many possible events
rghEvent,       // Location of handles
FALSE,          // Wait for all? NO!
5, // How long to wait
QS_ALLINPUT);   // Any message is an event

// To pause the mixer when the focus is lost.
if(!pAudio->Get_Screen()->Is_Active())
{
if(mPlaying)
{
mPlaying = false;
lpdsb->Stop();
}
}
else
{
if(!mPlaying)
{
mPlaying = true;
lpdsb->Play(0, 0, DSBPLAY_LOOPING);
}
}

if(dwEvt == WAIT_TIMEOUT) continue;

// WAIT_OBJECT_0 == 0 but is properly treated as an arbitrary
// index value assigned to the first event, therefore we subtract
// it from dwEvt to get the zero-based index of the event.

dwEvt -= WAIT_OBJECT_0;

// If the event was set by the buffer, there's input
// to process.

if (dwEvt < NUMEVENTS)
{
int dwStartOfs;

if (dwEvt == 0) dwStartOfs = rgdsbpn[1].dwOffset;
else dwStartOfs = rgdsbpn[0].dwOffset;

void* lpvPtr;
unsigned long dwBytes;


if( lpdsb->Lock(dwStartOfs, mInternalSize, &lpvPtr, &dwBytes, 0, 0, 0) == DSERR_BUFFERLOST)
{
lpdsb->Restore();
if( lpdsb->Lock(dwStartOfs, mInternalSize, &lpvPtr, &dwBytes, 0, 0, 0) == DSERR_BUFFERLOST)
THROW_EXCEPTION("DSound Buffer lost when locking");
}

// fill the DSound internal buffer.
mInternalFormat.Convert(lpvPtr, mMixingBuffer, mInternalSize, mMixingFormat);

if( FAILED(lpdsb->Unlock(lpvPtr, dwBytes, 0, 0)) )
THROW_EXCEPTION("DSound Buffer lost when unlocking");

assert( dwBytes == mInternalSize );

// fill the buffer for the next regeneration
Mix(mMixingBuffer, mMixingSize, mMixingFormat);
}

// If it's the last event, it's a message


// if this really needed?
else if (dwEvt == NUMEVENTS)
{        
MSG msg;
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
{
if (msg.message == WM_QUIT) done = true;
else
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}  // end message processing


}

timeEndPeriod( timecaps.wPeriodMax );
}
catch( const Exception& e )
{
mException = e;
mIsThereAnException = true;
}

}


Desde ya infinitas gracias!
#39
Pentium PRO agrega algunas instrucciones medias raras que pueden mejorar el performance.
La pregunta es, las computadoras de 10 años de viejas(Pentium III, Celeron, Atlhon y Duron) en adelante, son compatibles con pentium PRO o no?
O pentium PRO abrio un branch que se descontinuo?

Si alguien sabe que diga, pues me serviria para desburrarme.
No encontré esta información en ningun lado.
Gracias :)
#40
General Programadores / Micro saltos en el frame rate.
30 de Enero de 2008, 05:49:30 AM
Hola,
Como veran estoy a full!!!

Tengo otro problema muy particular desde hace mas de un mes y no lo logro resolver.
En ciertas computadoras de escritorio y en ciertas condiciones que no puedo precisar, el juego en el cual trabajo da unos graciosos saltos en el framerate, como si hubiese una pequeña pausa cada 1/2 segundo.

No hay un patron especial sobre el tipo de computadora ni las condiciones.

El juego usa DX.
Cosas que no afectan al efecto:
* Activar o desactivar el VSync.
* Usar o no usar Sleep para liberar el tiempo muerto.
* Insultar al ordenador donde susodicho problema ocurre.

Estoy usando GetTickCount para el tema del tiempo, cosa que no puede fallar.

El game loop es basico
while(!done)
{
 dt = GetTickCount() - last_tick;
 last_tick += dt;
 if(dt>0) {
    Update(dt);
    Draw();
 } else Sleep(0);
}
Le sospechaba al Sleep pero no es eso.

La prioridad del proceso es la de por defecto, tiene un segundo thread para el audio pero este no influye para nada tampoco, con el o sin el es lo mismo.

El tema del acceso a disco para ejecutar streams puede llegar a ser un problema pero como lo hago en otro thread me parece menos posible. Podria probar a tener otro thread para hacer streaming independiente del mixer, pero me parece una exageración.

¿Que se les ocurre que pueda ser la causa de este micro-saltito?
¿Han tenido algún problema similar?
¿Como lo resolvieron? (si así fue)

Muchisimas gracias.





Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.