Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • videolan/libbluray
  • fcartegnie/libbluray
  • thresh/libbluray
  • ePirat/libbluray
  • schoutgert15/libbluray
  • jbk/libbluray
  • ryoon/libbluray
  • tleydxdy/libbluray
  • chouquette/libbluray
  • jharp/libbluray
  • l.austenfeld/libbluray
  • rapperskull/libbluray
  • galad/libbluray
  • sebastinas/libbluray
  • Mathias_Couder/libbluray
  • hpi/libbluray
  • eslerm/libbluray
  • GovanifY/libbluray
  • Aura/libbluray
  • thesamesam/libbluray
  • robUx4/libbluray
  • Nilsjoberl/libbluray
  • sthibaul/libbluray
  • masstock/libbluray
24 results
Show changes
Commits on Source (2)
......@@ -356,6 +356,40 @@ static void _update_clip_psrs(BLURAY *bd, NAV_CLIP *clip)
}
}
static void _update_playlist_psrs(BLURAY *bd)
{
NAV_CLIP *clip = bd->st0.clip;
bd_psr_write(bd->regs, PSR_PLAYLIST, atoi(bd->title->name));
bd_psr_write(bd->regs, PSR_ANGLE_NUMBER, bd->title->angle + 1);
bd_psr_write(bd->regs, PSR_CHAPTER, 0xffff);
if (clip && bd->title_type == title_undef) {
/* Initialize selected audio and subtitle stream PSRs when not using menus.
* Selection is based on language setting PSRs and clip STN.
*/
MPLS_STN *stn = &clip->title->pl->play_item[clip->ref].stn;
uint32_t audio_lang = 0;
/* make sure clip is up-to-date before STREAM events are triggered */
bd_psr_write(bd->regs, PSR_PLAYITEM, clip->ref);
if (stn->num_audio) {
_update_stream_psr_by_lang(bd->regs,
PSR_AUDIO_LANG, PSR_PRIMARY_AUDIO_ID, 0,
stn->audio, stn->num_audio,
&audio_lang, 0);
}
if (stn->num_pg) {
_update_stream_psr_by_lang(bd->regs,
PSR_PG_AND_SUB_LANG, PSR_PG_STREAM, 0x80000000,
stn->pg, stn->num_pg,
NULL, audio_lang);
}
}
}
static int _is_interactive_title(BLURAY *bd)
{
if (bd->titles && bd->title_type != title_undef) {
......@@ -2335,12 +2369,11 @@ static int _open_playlist(BLURAY *bd, const char *f_name, unsigned angle)
bd->end_of_playlist = 0;
bd->st0.ig_pid = 0;
bd_psr_write(bd->regs, PSR_PLAYLIST, atoi(bd->title->name));
bd_psr_write(bd->regs, PSR_ANGLE_NUMBER, bd->title->angle + 1);
bd_psr_write(bd->regs, PSR_CHAPTER, 0xffff);
// Get the initial clip of the playlist
bd->st0.clip = nav_next_clip(bd->title, NULL);
_update_playlist_psrs(bd);
if (_open_m2ts(bd, &bd->st0)) {
BD_DEBUG(DBG_BLURAY, "Title %s selected\n", f_name);
......