package com.ycwl.basic.model.mobile.video.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * HLS视频流响应
 * 包含生成的m3u8播放列表内容
 *
 * @author Claude Code
 * @date 2025-12-26
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HlsStreamResponse {

    /**
     * 设备ID
     */
    private Long deviceId;

    /**
     * m3u8播放列表内容
     */
    private String playlistContent;

    /**
     * 视频片段数量
     */
    private Integer segmentCount;

    /**
     * 总时长（秒）
     */
    private Double totalDurationSeconds;

    /**
     * 视频片段列表
     */
    private List<VideoSegment> segments;

    /**
     * 播放列表类型（EVENT/VOD）
     */
    private String playlistType;

    /**
     * 视频片段信息
     */
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class VideoSegment {
        /**
         * 视频片段URL
         */
        private String url;

        /**
         * 片段时长（秒）
         */
        private Double duration;

        /**
         * 片段序号
         */
        private Integer sequence;

        /**
         * 片段开始时间
         */
        private String startTime;

        /**
         * 片段结束时间
         */
        private String endTime;
    }
}
