|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* This file is part of libbluray
|
|
Packit |
5e46da |
* Copyright (C) 2012-2014 libbluray
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* This library is free software; you can redistribute it and/or
|
|
Packit |
5e46da |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
5e46da |
* License as published by the Free Software Foundation; either
|
|
Packit |
5e46da |
* version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
5e46da |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
5e46da |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
5e46da |
* Lesser General Public License for more details.
|
|
Packit |
5e46da |
*
|
|
Packit |
5e46da |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
5e46da |
* License along with this library. If not, see
|
|
Packit |
5e46da |
* <http://www.gnu.org/licenses/>.
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#if !defined(_BLURAY_INTERNAL_H_)
|
|
Packit |
5e46da |
#define _BLURAY_INTERNAL_H_
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#include "util/attributes.h"
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#include <stdint.h>
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
struct bluray;
|
|
Packit |
5e46da |
struct bd_disc;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE const uint8_t *bd_get_aacs_data(struct bluray *bd, int type);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* VFS
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE struct bd_disc *bd_get_disc(struct bluray *bd);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE int bd_set_virtual_package(struct bluray *bd, const char *vp_path, int psr_init_backup);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* UO mask, KIT
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#define BDJ_MENU_CALL_MASK 0x01
|
|
Packit |
5e46da |
#define BDJ_TITLE_SEARCH_MASK 0x02
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE uint64_t bd_get_uo_mask(struct bluray *bd);
|
|
Packit |
5e46da |
BD_PRIVATE void bd_set_bdj_uo_mask(struct bluray *bd, unsigned mask);
|
|
Packit |
5e46da |
BD_PRIVATE void bd_set_bdj_kit(struct bluray *bd, int mask);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* title selection
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE int bd_play_title_internal(struct bluray *bd, unsigned title);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* register access
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE uint32_t bd_reg_read(struct bluray *bd, int psr, int reg);
|
|
Packit |
5e46da |
BD_PRIVATE int bd_reg_write(struct bluray *bd, int psr, int reg, uint32_t value, uint32_t psr_value_mask);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* playback control
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
enum bd_select_rate_reason {
|
|
Packit |
5e46da |
BDJ_RATE_SET = 0,
|
|
Packit |
5e46da |
BDJ_PLAYBACK_START = 1,
|
|
Packit |
5e46da |
BDJ_PLAYBACK_STOP = 2,
|
|
Packit |
5e46da |
};
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE int bd_play_playlist_at(struct bluray *bd, int playlist, int playitem, int playmark, int64_t time);
|
|
Packit |
5e46da |
BD_PRIVATE void bd_select_rate(struct bluray *bd, float rate, int reason);
|
|
Packit |
5e46da |
BD_PRIVATE int bd_bdj_seek(struct bluray *bd, int playitem, int playmark, int64_t time);
|
|
Packit |
5e46da |
BD_PRIVATE int bd_bdj_sound_effect(struct bluray *bd, int id);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
/*
|
|
Packit |
5e46da |
* BD-J overlay
|
|
Packit |
5e46da |
*/
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
struct bd_argb_buffer_s;
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE struct bd_argb_buffer_s *bd_lock_osd_buffer(struct bluray *bd);
|
|
Packit |
5e46da |
BD_PRIVATE void bd_unlock_osd_buffer(struct bluray *bd);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
BD_PRIVATE void bd_bdj_osd_cb(struct bluray *bd, const unsigned *img, int w, int h,
|
|
Packit |
5e46da |
int x0, int y0, int x1, int y1);
|
|
Packit |
5e46da |
|
|
Packit |
5e46da |
#endif /* _BLURAY_INTERNAL_H_ */
|