[libbluray-devel] [PATCH] expose clip_id in BLURAY_CLIP_INFO

Petri Hintukainen phintuka at users.sourceforge.net
Thu May 19 13:48:23 CEST 2016


On ke, 2016-05-18 at 15:03 -0700, John Stebbins wrote:
> ---
>  src/libbluray/bluray.c | 1 +
>  src/libbluray/bluray.h | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c
> index f9f2502..1910664 100644
> --- a/src/libbluray/bluray.c
> +++ b/src/libbluray/bluray.c
> @@ -2575,6 +2575,7 @@ static BLURAY_TITLE_INFO*
> _fill_title_info(NAV_TITLE* title, uint32_t title_idx,
>          BLURAY_CLIP_INFO *ci = &title_info->clips[ii];
>          NAV_CLIP *nc = &title->clip_list.clip[ii];
>  
> +        memcpy(ci->clip_id, pi->clip->clip_id, sizeof(ci->clip_id));
>          ci->pkt_count = nc->end_pkt - nc->start_pkt;
>          ci->start_time = (uint64_t)nc->title_time * 2;
>          ci->in_time = (uint64_t)pi->in_time * 2;
> diff --git a/src/libbluray/bluray.h b/src/libbluray/bluray.h
> index 41ba978..dc37398 100644
> --- a/src/libbluray/bluray.h
> +++ b/src/libbluray/bluray.h
> @@ -219,6 +219,7 @@ typedef struct bd_stream_info {
>  } BLURAY_STREAM_INFO;
>  
>  typedef struct bd_clip {
> +    char               clip_id[6];

This will break ABI. But, alternative ways of adding this information
are more or less ugly ...

If we break ABI, there are couple of other structs that could be re-
arranged too.

>      uint32_t           pkt_count;
>      uint8_t            still_mode;
>      uint16_t           still_time;  /* seconds */


More information about the libbluray-devel mailing list