@@ -130,8 +130,8 @@ GST_DEBUG_CATEGORY_STATIC (gst_kvs_sink_debug);
130
130
131
131
#define DEFAULT_AUDIO_TRACK_NAME " audio"
132
132
#define DEFAULT_AUDIO_CODEC_ID " A_AAC"
133
- #define DEFAULT_VIDEO_TRACKID 0
134
- #define DEFAULT_AUDIO_TRACKID 1
133
+ #define KVS_SINK_DEFAULT_TRACKID 1
134
+ #define KVS_SINK_DEFAULT_AUDIO_TRACKID 2
135
135
136
136
enum {
137
137
PROP_0,
@@ -388,10 +388,12 @@ void create_kinesis_video_stream(GstKvsSink *kvssink) {
388
388
kvssink->track_name ,
389
389
nullptr ,
390
390
0 ,
391
- kvssink->track_info_type );
391
+ kvssink->track_info_type ,
392
+ vector<uint8_t >(),
393
+ KVS_SINK_DEFAULT_TRACKID);
392
394
393
395
if (data->media_type == AUDIO_VIDEO) {
394
- stream_definition->addTrack (DEFAULT_AUDIO_TRACKID , DEFAULT_AUDIO_TRACK_NAME, DEFAULT_AUDIO_CODEC_ID, MKV_TRACK_INFO_TYPE_AUDIO);
396
+ stream_definition->addTrack (KVS_SINK_DEFAULT_AUDIO_TRACKID , DEFAULT_AUDIO_TRACK_NAME, DEFAULT_AUDIO_CODEC_ID, MKV_TRACK_INFO_TYPE_AUDIO);
395
397
}
396
398
397
399
data->kinesis_video_stream = data->kinesis_video_producer ->createStreamSync (move (stream_definition));
@@ -1095,6 +1097,7 @@ gst_kvs_sink_handle_buffer (GstCollectPads * pads,
1095
1097
goto CleanUp;
1096
1098
}
1097
1099
1100
+ // LOG_DEBUG("flags" << GST_BUFFER_FLAGS(buf));
1098
1101
isDroppable = GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_CORRUPTED) ||
1099
1102
GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DECODE_ONLY) ||
1100
1103
(!GST_BUFFER_PTS_IS_VALID (buf)); // frame with invalid pts cannot be processed.
@@ -1134,13 +1137,10 @@ gst_kvs_sink_handle_buffer (GstCollectPads * pads,
1134
1137
}
1135
1138
break ;
1136
1139
case AUDIO_VIDEO:
1137
- if (!delta) {
1138
- // Set key frame flag on first key frame. No matter audio or video.
1139
- // After that set key frame flag on video key frame only.
1140
- if (data->first_key_frame ) {
1141
- data->first_key_frame = false ;
1142
- kinesis_video_flags = FRAME_FLAG_KEY_FRAME;
1143
- } else if (kvs_sink_track_data->track_type == MKV_TRACK_INFO_TYPE_VIDEO) {
1140
+ if (!delta && kvs_sink_track_data->track_type == MKV_TRACK_INFO_TYPE_VIDEO) {
1141
+ if (data->first_video_frame ) {
1142
+ data->first_video_frame = false ;
1143
+ } else {
1144
1144
kinesis_video_flags = FRAME_FLAG_KEY_FRAME;
1145
1145
}
1146
1146
}
@@ -1267,7 +1267,7 @@ gst_kvs_sink_request_new_pad (GstElement * element, GstPadTemplate * templ,
1267
1267
NULL , locked);
1268
1268
kvs_sink_track_data->kvssink = kvssink;
1269
1269
kvs_sink_track_data->track_type = track_type;
1270
- kvs_sink_track_data->track_id = DEFAULT_TRACK_ID ;
1270
+ kvs_sink_track_data->track_id = KVS_SINK_DEFAULT_TRACKID ;
1271
1271
1272
1272
if (!gst_element_add_pad (element, GST_PAD (newpad))) {
1273
1273
gst_object_unref (newpad);
@@ -1323,8 +1323,8 @@ assign_track_id(GstKvsSink *kvssink) {
1323
1323
1324
1324
// set up track id in kvs_sink_track_data
1325
1325
kvs_sink_track_data->track_id = kvs_sink_track_data->track_type == MKV_TRACK_INFO_TYPE_AUDIO ?
1326
- DEFAULT_AUDIO_TRACKID :
1327
- DEFAULT_VIDEO_TRACKID ;
1326
+ KVS_SINK_DEFAULT_AUDIO_TRACKID :
1327
+ KVS_SINK_DEFAULT_TRACKID ;
1328
1328
}
1329
1329
}
1330
1330
}
0 commit comments