summaryrefslogtreecommitdiff
path: root/src/libw32dll/w32codec.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libw32dll/w32codec.c')
-rw-r--r--src/libw32dll/w32codec.c33
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);