There is hanging error when it is waiting pulled signal. In the case
of EOS(End of Stream), there is no pulling procedure but it is
required to get signal to get out the while loop.
**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped
Signed-off-by: jijoong.moon <jijoong.moon@samsung.com>
GstTensorRepoData *data = gst_tensor_repo_get_repodata (nth);
+ while (data->buffer != NULL && !data->eos) {
+ GST_TENSOR_REPO_WAIT_PULL (nth);
+ }
+
if (data->eos) {
GST_TENSOR_REPO_UNLOCK (nth);
return FALSE;
}
- while (data->buffer != NULL) {
- GST_TENSOR_REPO_WAIT_PULL (nth);
- }
-
data->buffer = gst_buffer_copy (buffer);
GstMetaRepo *meta = GST_META_REPO_ADD (data->buffer);
GstTensorRepoData *data = gst_tensor_repo_get_repodata (nth);
data->eos = TRUE;
GST_TENSOR_REPO_SIGNAL_PUSH (nth);
+ GST_TENSOR_REPO_SIGNAL_PULL (nth);
GST_TENSOR_REPO_UNLOCK (nth);
return data->eos;
}