//printf("new byte assign the %d bits\n", handle->bits_per_frame);
*handle->ptr = edata;
} else if (bits <= BITS_IN_A_BYTE) {
- int shift_by = ((handle->bits_per_frame * (handle->ecount)) - handle->bits_per_frame);
+ int shift_by = ((handle->bits_per_frame * (handle->ecount -1)));
//printf ("shift by %d and add %d bits\n", shift_by, handle->bits_per_frame);
//*handle->ptr <<= shift_by;
//*handle->ptr |= edata;
//printf("edata\n");
//print_bits(edata);
//printf("\n");
-
- *handle->ptr |= (edata << 4);
+
+ *handle->ptr <<= shift_by;
+ *handle->ptr |= edata;
//printf("handle\n");
//print_bits(*handle->ptr);
static int do_describe(struct private_object *tech_pvt, int force)
{
ldl_payload_t payloads[5];
- assert(switch_core_session_get_channel(tech_pvt->session) != NULL);
+
+ if (!tech_pvt->session) {
+ return 0;
+ }
if (switch_test_flag(tech_pvt, TFLAG_DO_DESC)) {
return 1;