| 113 | } |
| 114 | |
| 115 | void AVDecoder::getVideoMetadata(metadata_t &metadata) |
| 116 | { |
| 117 | metadata.data.video.copyright = strdup(getMetadataEntry("copyright", "")); |
| 118 | metadata.data.video.explanation = strdup(getMetadataEntry("comments", "")); |
| 119 | metadata.data.video.title = strdup(getMetadataEntry("title", metadata.name)); |
| 120 | |
| 121 | if(loadCodec(CODEC_VIDEO)) { |
| 122 | metadata.data.video.tracks->data.track_video.width = pCodecCtx->width; |
| 123 | metadata.data.video.tracks->data.track_video.height = pCodecCtx->height; |
| 124 | metadata.data.video.tracks->data.track_video.bitrate = pCodecCtx->bit_rate; |
| 125 | metadata.data.video.tracks->data.track_video.duration = pFormatCtx->duration / 1000; |
| 126 | |
| 127 | if(strcmp(av_codec->name, "h264") == 0) { |
| 128 | metadata.data.video.tracks->data.track_video.codecType = CODEC_TYPE_AVC; |
| 129 | } else if(strcmp(av_codec->name, "mpeg4") == 0) { |
| 130 | metadata.data.video.tracks->data.track_video.codecType = CODEC_TYPE_MPEG4; |
| 131 | } else { |
| 132 | metadata.data.video.tracks->data.track_video.codecType = 0; |
| 133 | } |
| 134 | } |
| 135 | } |
| 136 | |
| 137 | AVFrame *AVDecoder::getDecodedFrame(AVCodecContext *codec_ctx, int frame_stream_index) |
| 138 | { |