Volvemos a la carga.
Tengo un problema: necesito comparar de una tabla dos tipos de ID. Uno con archivos de audio y otro con archivos de vídeo. Si el archivo es de audio entonces el de vídeo vale NULL, y viceversa.
Nos dan los siguientes datos:
Using c Syntax Highlighting
- typedef struct {
- tAudio audio ;
- tVideo video ;
- }tMedia ;
- int CompareAudioMedia (const void * element1, const void* element2){
- tAudio *audio1;
- tAudio *audio2;
- int res;
- /*Get elements*/
- audio1=(tAudio)*audio1;
- audio2=(tAudio)*audio2;
- if (audio1->mediaID<audio2->mediaID){
- res=-1;
- else if(audio1->mediaID==audio2->mediaID){
- res=0;
- else
- res=1;
- return res;
- }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Mi problema es que no sé cómo plantear la condición de que si el archivo es de audio, el de vídeo sea igual a NULL, y viceversa. Para luego compararlos y obtener el resultado.
Por si fuera necesario las definiciones de vídeo y audio son:
Using c Syntax Highlighting
- typedef struct {
- /* Unique Id for this media file */
- unsigned int mediaID;
- /* Number of frames */
- unsigned int numFrames;
- /* Frame rate */
- unsigned int fps;
- /* Frames of this video*/
- tImage frames[MAX_FRAMES];
- /* File source */
- char url[51];
- } tVideo
- typedef struct {
- /* Unique Id for this media file */
- unsigned int mediaID;
- /* Number of samples */
- unsigned int numSamples;
- /* Audio samples */
- float data[MAX_AUDIO_SAMPLES];
- /* Audio frequency */
- unsigned int freq;
- /* File source */
- char url[51];
- } tAudio
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
¿Alguna sugerencia? Porque a mí se me han acabado las ideas, antes de empezar
Un saludo
Gonzalo