summaryrefslogtreecommitdiff
path: root/src/libreal
diff options
context:
space:
mode:
Diffstat (limited to 'src/libreal')
-rw-r--r--src/libreal/audio_decoder.c12
-rw-r--r--src/libreal/xine_decoder.c10
2 files changed, 20 insertions, 2 deletions
diff --git a/src/libreal/audio_decoder.c b/src/libreal/audio_decoder.c
index b8e8eca53..c3b9a8efe 100644
--- a/src/libreal/audio_decoder.c
+++ b/src/libreal/audio_decoder.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: audio_decoder.c,v 1.8 2002/12/10 16:26:05 holstsn Exp $
+ * $Id: audio_decoder.c,v 1.9 2002/12/10 19:47:02 guenter Exp $
*
* thin layer to use real binary-only codecs in xine
*
@@ -260,28 +260,38 @@ static int init_codec (realdec_decoder_t *this, buf_element_t *buf) {
if (!load_syms_linux (this, "cook.so.6.0"))
return 0;
+ this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
+ = strdup ("Cook");
break;
case BUF_AUDIO_ATRK:
if (!load_syms_linux (this, "atrc.so.6.0"))
return 0;
this->block_align = 384;
+ this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
+ = strdup ("Atrac");
break;
case BUF_AUDIO_14_4:
if (!load_syms_linux (this, "14_4.so.6.0"))
return 0;
+ this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
+ = strdup ("Real 14.4");
break;
case BUF_AUDIO_28_8:
if (!load_syms_linux (this, "28_8.so.6.0"))
return 0;
+ this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
+ = strdup ("Real 28.8");
break;
case BUF_AUDIO_SIPRO:
if (!load_syms_linux (this, "sipr.so.6.0"))
return 0;
/* this->block_align = 19; */
+ this->stream->meta_info[XINE_META_INFO_AUDIOCODEC]
+ = strdup ("Sipro");
break;
default:
diff --git a/src/libreal/xine_decoder.c b/src/libreal/xine_decoder.c
index 346781e77..13026fb8b 100644
--- a/src/libreal/xine_decoder.c
+++ b/src/libreal/xine_decoder.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: xine_decoder.c,v 1.13 2002/12/07 01:55:36 guenter Exp $
+ * $Id: xine_decoder.c,v 1.14 2002/12/10 19:47:02 guenter Exp $
*
* thin layer to use real binary-only codecs in xine
*
@@ -183,10 +183,14 @@ static int init_codec (realdec_decoder_t *this, buf_element_t *buf) {
case BUF_VIDEO_RV20:
if (!load_syms_linux (this, "drv2.so.6.0"))
return 0;
+ this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
+ = strdup ("RV 20");
break;
case BUF_VIDEO_RV30:
if (!load_syms_linux (this, "drv3.so.6.0"))
return 0;
+ this->stream->meta_info[XINE_META_INFO_VIDEOCODEC]
+ = strdup ("RV 30");
break;
default:
printf ("libreal: error, i don't handle buf type 0x%08x\n",
@@ -200,6 +204,9 @@ static int init_codec (realdec_decoder_t *this, buf_element_t *buf) {
this->width = init_data.w;
this->height = init_data.h;
+ this->stream->stream_info[XINE_STREAM_INFO_VIDEO_WIDTH] = this->width;
+ this->stream->stream_info[XINE_STREAM_INFO_VIDEO_HEIGHT] = this->height;
+
init_data.subformat = BE_32(&buf->content[26]);
init_data.format = BE_32(&buf->content[30]);
@@ -308,6 +315,7 @@ static void realdec_decode_data (video_decoder_t *this_gen, buf_element_t *buf)
this->last_pts = this->pts;
img->duration = this->duration;
+ this->stream->stream_info[XINE_STREAM_INFO_FRAME_DURATION] = this->duration;
img->bad_frame = 0;
#ifdef LOG