diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-05-08 23:50:26 +0300 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2009-05-08 23:50:26 +0300 |
commit | 1db1773ec27fc4e7c9d44ad02ccfa7eaf364ce07 (patch) | |
tree | c5e99bfe0e69cd37fb8ac70fadf00ce54a1cbe3c /stream | |
parent | f2864e9a072f53c38a04dd7c44392521777dc908 (diff) | |
parent | 86c9fb2e8930de031807513c9b93d47394d2d2fa (diff) |
Merge svn changes up to r29277
Diffstat (limited to 'stream')
-rw-r--r-- | stream/stream_dvdnav.c | 20 | ||||
-rw-r--r-- | stream/tvi_v4l2.c | 1 |
2 files changed, 16 insertions, 5 deletions
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c index 85d86713c2..adb0fcb54c 100644 --- a/stream/stream_dvdnav.c +++ b/stream/stream_dvdnav.c @@ -74,6 +74,7 @@ static const struct m_struct_st stream_opts = { }; static int seek(stream_t *s, off_t newpos); +static void show_audio_subs_languages(dvdnav_t *nav); static dvdnav_priv_t * new_dvdnav_stream(char * filename) { const char * title_str; @@ -205,10 +206,13 @@ static int dvdnav_stream_read(dvdnav_priv_t * priv, unsigned char *buf, int *len if(ev->pgc_length) priv->duration = ev->pgc_length/90; - if (dvdnav_is_domain_vts(priv->dvdnav)) + if (dvdnav_is_domain_vts(priv->dvdnav)) { + mp_msg(MSGT_IDENTIFY, MSGL_INFO, "DVDNAV_TITLE_IS_MOVIE\n"); priv->state &= ~NAV_FLAG_VTS_DOMAIN; - else + } else { + mp_msg(MSGT_IDENTIFY, MSGL_INFO, "DVDNAV_TITLE_IS_MENU\n"); priv->state |= NAV_FLAG_VTS_DOMAIN; + } nextstill = dvdnav_get_next_still_flag (priv->dvdnav); if (nextstill) { @@ -340,6 +344,7 @@ static int fill_buffer(stream_t *s, char *but, int len) priv->state &= ~NAV_FLAG_WAIT; s->end_pos = 0; update_title_len(s); + show_audio_subs_languages(priv->dvdnav); if (priv->state & NAV_FLAG_WAIT_READ_AUTO) priv->state |= NAV_FLAG_WAIT_READ; if(dvdnav_current_title_info(priv->dvdnav, &tit, &part) == DVDNAV_STATUS_OK) { @@ -535,8 +540,12 @@ static void show_audio_subs_languages(dvdnav_t *nav) if(format == 0xFFFF || format > 6) format = 1; //unknown id = i + base[format]; - mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDaudioStreamInfo, i, - dvd_audio_stream_types[format], dvd_audio_stream_channels[channels], tmp, id); + if (lang != 0xFFFF) { + mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDaudioStreamInfo, i, + dvd_audio_stream_types[format], dvd_audio_stream_channels[channels], tmp, id); + if(lang && tmp[0]) + mp_msg(MSGT_IDENTIFY, MSGL_INFO, "ID_AID_%d_LANG=%s\n", id, tmp); + } } for(i=0; i<32; i++) @@ -552,7 +561,8 @@ static void show_audio_subs_languages(dvdnav_t *nav) tmp[1] = lang & 0xFF; } tmp[2] = 0; - mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDsubtitleLanguage, i+0x20, tmp); + if (lang != 0xFFFF) + mp_msg(MSGT_OPEN,MSGL_STATUS,MSGTR_DVDsubtitleLanguage, i+0x20, tmp); } } diff --git a/stream/tvi_v4l2.c b/stream/tvi_v4l2.c index c890d7a51e..5bd654282e 100644 --- a/stream/tvi_v4l2.c +++ b/stream/tvi_v4l2.c @@ -1313,6 +1313,7 @@ static int init(priv_t *priv) } mp_msg(MSGT_TV, MSGL_INFO, " %d = %s;", i, input.name); } + i = -1; if (ioctl(priv->video_fd, VIDIOC_G_INPUT, &i) < 0) { mp_msg(MSGT_TV, MSGL_ERR, "%s: ioctl get input failed: %s\n", info.short_name, strerror(errno)); |