diff options
Diffstat (limited to 'src/libw32dll/w32codec.c')
-rw-r--r-- | src/libw32dll/w32codec.c | 33 |
1 files changed, 3 insertions, 30 deletions
diff --git a/src/libw32dll/w32codec.c b/src/libw32dll/w32codec.c index 6fde68a5e..33f4356ea 100644 --- a/src/libw32dll/w32codec.c +++ b/src/libw32dll/w32codec.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: w32codec.c,v 1.114 2003/01/07 16:56:19 f1rmb Exp $ + * $Id: w32codec.c,v 1.115 2003/01/08 01:02:30 miguelfreitas Exp $ * * routines for using w32 codecs * DirectShow support by Miguel Freitas (Nov/2001) @@ -314,7 +314,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, this->yuv_supported=1; this->driver_type = DRIVER_DS; this->guid=&msmpeg4_clsid; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("MS MPEG-4 V1/V2 (win32)"); return "mpg4ds32.ax"; @@ -324,7 +323,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, this->yuv_supported=1; this->yuv_hack_needed=1; this->flipped=1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("MS MPEG-4 V3 (win32)"); return "divxc32.dll"; @@ -333,7 +331,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, /* Video in Indeo Video 5 format */ this->yuv_supported=1; /* YUV pic is upside-down :( */ this->flipped=0; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("Indeo Video 5 (win32)"); return "ir50_32.dll"; @@ -341,7 +338,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, case BUF_VIDEO_IV41: /* Video in Indeo Video 4.1 format */ this->flipped=1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("Indeo Video 4.1 (win32)"); return "ir41_32.dll"; @@ -349,7 +345,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, case BUF_VIDEO_IV32: /* Video in Indeo Video 3.2 format */ this->flipped=1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("Indeo Video 3.2 (win32)"); return "ir32_32.dll"; @@ -357,7 +352,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, case BUF_VIDEO_IV31: /* Video in Indeo Video 3.1 format */ this->flipped=1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("Indeo Video 3.1 (win32)"); return "ir32_32.dll"; @@ -366,7 +360,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, /* Video in Cinepak format */ this->flipped=1; this->yuv_supported=0; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("Cinepak (win32)"); return "iccvid.dll"; @@ -380,7 +373,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, case BUF_VIDEO_ATIVCR2: /* Video in ATI VCR2 format */ this->yuv_supported=1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("ATI VCR2 (win32)"); return "ativcr2.dll"; @@ -389,7 +381,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, /* Video in I263 format */ this->flipped=1; this->yuv_supported=1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("I263 (win32)"); return "i263_32.drv"; @@ -399,7 +390,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, /* note: can't play streams with 8bpp */ this->flipped=1; this->yuv_supported=0; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("MS Windows Video 1 (win32)"); return "msvidc32.dll"; @@ -409,7 +399,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, this->yuv_supported=1; this->driver_type = DRIVER_DS; this->guid=&dvsd_clsid; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("Sony DV (win32)"); return "qdv.dll"; @@ -418,7 +407,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, this->yuv_supported=1; this->driver_type = DRIVER_DS; this->guid=&wmv1_clsid; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("MS WMV 7 (win32)"); return "wmvds32.ax"; @@ -427,7 +415,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, this->yuv_supported=1; this->driver_type = DRIVER_DS; this->guid=&wmv2_clsid; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("MS WMV 8 (win32)"); return "wmv8ds32.ax"; @@ -436,7 +423,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, this->yuv_supported=1; this->driver_type = DRIVER_DMO; this->guid=&wmv3_clsid; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("MS WMV 9 (win32)"); return "wmv9dmod.dll"; @@ -445,7 +431,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, this->yuv_supported=1; this->ex_functions=1; this->flipped=1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("VP 31 (win32)"); return "vp31vfw.dll"; @@ -453,7 +438,6 @@ static char* get_vids_codec_name(w32v_decoder_t *this, case BUF_VIDEO_MSS1: this->driver_type = DRIVER_DS; this->guid=&mss1_clsid; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("Windows Screen Video (win32)"); return "msscds32.ax"; @@ -461,14 +445,12 @@ static char* get_vids_codec_name(w32v_decoder_t *this, case BUF_VIDEO_TSCC: this->flipped=1; this->yuv_supported=0; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("TechSmith Screen Capture Codec (win32)"); return "tsccvid.dll"; case BUF_VIDEO_UCOD: this->yuv_supported=1; - this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_VIDEOCODEC] = strdup ("ClearVideo (win32)"); return "clrviddd.dll"; @@ -740,6 +722,7 @@ static void w32v_decode_data (video_decoder_t *this_gen, buf_element_t *buf) { xine_log (this->stream->xine, XINE_LOG_MSG, "w32codec: decoder failed to start. Is '%s' installed?\n", win32_codec_name ); + this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HANDLED] = 0; } pthread_mutex_unlock(&win32_codec_mutex); @@ -1007,63 +990,52 @@ static char* get_auds_codec_name(w32a_decoder_t *this, int buf_type) { switch (buf_type) { case BUF_AUDIO_WMAV1: - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("Windows Media Audio v1 (win32)"); return "divxa32.acm"; case BUF_AUDIO_WMAV2: - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("Windows Media Audio v2 (win32)"); return "divxa32.acm"; case BUF_AUDIO_WMAV3: this->driver_type = DRIVER_DMO; this->guid=&wma3_clsid; - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("Windows Media Audio v3 (win32)"); return "wma9dmod.dll"; case BUF_AUDIO_MSADPCM: - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("MS ADPCM (win32)"); return "msadp32.acm"; case BUF_AUDIO_MSIMAADPCM: - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("MS IMA ADPCM (win32)"); return "imaadp32.acm"; case BUF_AUDIO_MSGSM: - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("MS GSM (win32)"); return "msgsm32.acm"; case BUF_AUDIO_IMC: - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("Intel Music Coder (win32)"); return "imc32.acm"; case BUF_AUDIO_LH: - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("Lernout & Hauspie (win32)"); return "lhacm.acm"; case BUF_AUDIO_VOXWARE: this->driver_type = DRIVER_DS; this->guid=&CLSID_Voxware; - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("Voxware Metasound (win32)"); return "voxmsdec.ax"; case BUF_AUDIO_ACELPNET: this->driver_type = DRIVER_DS; this->guid=&CLSID_Acelp; - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("ACELP.net (win32)"); return "acelpdec.ax"; case BUF_AUDIO_VIVOG723: - this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 1; this->stream->meta_info[XINE_META_INFO_AUDIOCODEC] = strdup ("Vivo G.723/Siren Audio Codec (win32)"); return "vivog723.acm"; @@ -1398,6 +1370,7 @@ static void w32a_decode_data (audio_decoder_t *this_gen, buf_element_t *buf) { xine_log (this->stream->xine, XINE_LOG_MSG, "w32codec: decoder failed to start. Is '%s' installed?\n", win32_codec_name ); + this->stream->stream_info[XINE_STREAM_INFO_AUDIO_HANDLED] = 0; } pthread_mutex_unlock(&win32_codec_mutex); |