@@ -130,8 +130,8 @@ GST_DEBUG_CATEGORY_STATIC (gst_kvs_sink_debug);
130130
131131#define DEFAULT_AUDIO_TRACK_NAME " audio"
132132#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
135135
136136enum {
137137 PROP_0,
@@ -388,10 +388,12 @@ void create_kinesis_video_stream(GstKvsSink *kvssink) {
388388 kvssink->track_name ,
389389 nullptr ,
390390 0 ,
391- kvssink->track_info_type );
391+ kvssink->track_info_type ,
392+ vector<uint8_t >(),
393+ KVS_SINK_DEFAULT_TRACKID);
392394
393395 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);
395397 }
396398
397399 data->kinesis_video_stream = data->kinesis_video_producer ->createStreamSync (move (stream_definition));
@@ -1095,6 +1097,7 @@ gst_kvs_sink_handle_buffer (GstCollectPads * pads,
10951097 goto CleanUp;
10961098 }
10971099
1100+ // LOG_DEBUG("flags" << GST_BUFFER_FLAGS(buf));
10981101 isDroppable = GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_CORRUPTED) ||
10991102 GST_BUFFER_FLAG_IS_SET (buf, GST_BUFFER_FLAG_DECODE_ONLY) ||
11001103 (!GST_BUFFER_PTS_IS_VALID (buf)); // frame with invalid pts cannot be processed.
@@ -1134,13 +1137,10 @@ gst_kvs_sink_handle_buffer (GstCollectPads * pads,
11341137 }
11351138 break ;
11361139 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 {
11441144 kinesis_video_flags = FRAME_FLAG_KEY_FRAME;
11451145 }
11461146 }
@@ -1267,7 +1267,7 @@ gst_kvs_sink_request_new_pad (GstElement * element, GstPadTemplate * templ,
12671267 NULL , locked);
12681268 kvs_sink_track_data->kvssink = kvssink;
12691269 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 ;
12711271
12721272 if (!gst_element_add_pad (element, GST_PAD (newpad))) {
12731273 gst_object_unref (newpad);
@@ -1323,8 +1323,8 @@ assign_track_id(GstKvsSink *kvssink) {
13231323
13241324 // set up track id in kvs_sink_track_data
13251325 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 ;
13281328 }
13291329 }
13301330}
0 commit comments